大家好,小编来为大家解答以下问题,python网页数据抓取淘宝完整代码,python抓取网页数据并写入excel,现在让我们一起来看看吧!
在着手写爬虫抓取网页之前,要先把其需要的知识线路理清楚。
- 首先:了解相关的Http协议知识;
- 其次:熟悉Urllib、Requests库;
- 再者:开发工具的掌握 PyCharm、Fiddler;
- 最后:网页爬取案例;
下面就按这个路线逐一讲讲各部分的内容;
一、Http协议
HTTP协议是一个应用层面向对象协议,也叫超文本传输协议python创意简单小作品。
是基于TCP协议的可靠传输,采用客户端/服务器端模式,指定了客户端可能发送给服务器什么样的消息,以及服务端给出什么样的响应。
1)HTTP协议组成
HTTP协议请求由状态行、请求头和请求正文三部分组成;
请求端的HTTP报文叫做请求报文,响应端的叫做响应报文,通常,并不一定要有报文主体。
- 状态行:包括请求方式Method、资源路径URL、协议版本Version;
- 请求头:包括一些访问的域名、用户代理、Cookie等信息;
- 请求正文:就是HTTP请求的数据,允许为空字符串;
2)HTTP 请求方法
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
以上是HTTP所有的方法,但常见的方法有以下:
3)HTTP的请求响应模型
HTTP协议永远都是客户端发起请求,服务器回送响应。
这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。
注意:HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。
4)HTTP的状态码
Http状态码能告诉我们当前请求响应的状态,通过状态码判断和分析服务器的运行状态,以便更好的进行下一步的操作。
5)工作流程
一次HTTP操作称为一个事务,其工作过程可分为四步:
- 首先客户机与服务器需要建立连接,只要单击某个超级链接,HTTP的工作开始。
- 建立连接后,客户机发送一个请求给服务器;请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
- 服务器接到请求后,给予相应的响应信息;其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
- 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。
这些过程由HTTP自己完成,我们等待信息显示就可以了。
二、Urllib、Requests库
这两个库都建议新手能够熟练掌握,在Python爬虫中使用频率非常高。
下方也有分享安装教程资源,有需要的点击进群找群管理获取即可↓↓
<Python学习交流群 安装教程资源获取>
Urllib库
Urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib。
1)主要包含以下4个模块
- urllib.request:用于打开和阅读URL
- urllib.error&#x