《Python网络爬虫技术案例教程》PPT课件(共10单元)二单元爬虫基础.pptx

《Python网络爬虫技术案例教程》PPT课件(共10单元)二单元爬虫基础.pptx

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

爬虫基础

2

本章导读

网络爬虫工作流程中的第一步就是爬取网页,只有爬取网页获得了网页的源代码,才能提取其中的有效信息。而爬取网页首先就需要向Web

服务器发送构造的HTTP请求,从而获得包含所需数据的HTTP响应。

本章从HTTP基本原理入手,介绍网络爬虫爬取网页的基础知识,包括HTTP请求和HTTP响应、urllib库、requests库和字符编码等内容。

2

学习目标

理解HTTP的基本原理。

了解urllib库的使用方法。

掌握requests库的使用方法。

了解Python中的字符编码。

能使用urllib库和requests库构造HTTP请求实现网页的爬取。

012.1HTTP基本原理

022.2urllib库

032.3requests库

042.4字符编码

HTTP基本原理

使用GoogleChrome浏览器打开百度的搜索页面为例来展示HTTP请求和响应的过程。

打开GoogleChrome浏览器,右击页面空白处,在弹出的快捷菜单中选择“检查”选项,打开浏览器的开发者工具窗口,然后选择“Network”选项。访问/,即可在开发者工具窗口中显示请求记录(见图2-1),其中每一条记录都代表一次发送请求和接收响应的过程。

图2-1GoogleChrome浏览器显示HTTP请求记录

在记录列表中,选择

“”选项,然后在其右侧打开的界面中选择“Headers”选项,即可显示HTTP请求和响应的详细信息,如图2-2所示。

图2-2HTTP请求和响应的详细信息

HTTP请求可以分为四部分内容:

请求的网址(RequestURL)请求方法(RequestMethod)请求头(RequestHeaders)

请求体(RequestBody)

2.1.1HTTP请求

图2-2中的“Request

Method”部分即为请求方法

(GET方法)。可以看出,平时打开网站一般使用的是GET方法,也就是请求页面;

如果是向网站提交数据(如登录网站),就用到了POST方法。还有一些其他的请求方法,如HEAD、PUT、DELETE、

CONNECT、OPTIONS和

TRACE等,在实际编写爬虫程序时很少用到,此处不再介绍。

图2-2HTTP请求和响应的详细信息

2.1.1HTTP请求

请求头

说明

Accept

指定客户端可识别的内容类型

Accpet-Encoding

指定客户端可识别的内容编码

Accept-Language

指定客户端可识别的语言类型

Cookie

网站为了辨别用户身份进行会话跟踪而存储在用户本地的数据,主要功能是维持当前访问会话

Host

指定请求的服务器的域名和端口号

User-Agent

使服务器识别客户端使用的操作系统及版本、浏览器及版本等信息,实现爬虫时加上此信息,可以伪装为浏览器

Content-Type

请求的媒体类型信息

Content-Length

请求的内容长度

请求头是请求的重要组成部分,在编写爬虫程序时,大部分情况下都需要设定请求头。不同请求的请求头包含的内容不同,应用时应根据实际需求设定。图2-2中的“Request

Headers”部分即为请求头。常见的请求头及其说明如表2-1所示。

22..11HHTTTTPP基基本本原原理理2.1.1HTTP请求

HTTP请求可以分为四部分内容:请求头(RequestHeaders)

表2-1常见的请求头及其说明

Content-Type

提交数据的方式

application/x-www-form-urlencoded

表单数据

multipart/form-data

表单文件

application/json

序列化JSON数据

text/xml

XML数据

2.1HTTP基本原理2.1.1HTTP请求

HTTP请求可以分为四部分内容:请求头(RequestHeaders)

文档评论(0)

fat-bee + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档