内容正文:
模块七
网络编程之爬虫应用
什么是Python?
如何搭建Python的简单开发环境?
了解Python的基本语法。
什么是网络爬虫?
网络爬虫是如何工作的?
Python在网络爬取中的作用是什么?
数据爬取是不是无限制的?
学习要点
01
02
03
网络爬虫Requests类库
网络爬虫排除标准
网络爬虫 Beautiful soup 类库
04
实训:网络小说下载
01
网络爬虫Requests类库
7.1网络爬虫Requests类库
1.认识Requests类库
Requests是用Python语言编写、基于urllib、采用Apache 2 Licensed 开源协议的HTTP 库。它比urllib更加简洁和方便,可以节约大量的工作,完全满足HTTP 测试需求。
Requests的官方网址是:http://www.pytho-requests.org/en/master/,如图7-1所示。
图7-1Requests的官方网址首页
2.Requests类库的运行原理
在Requests类库运行时,客户端给服务器发出一个请求(Requests)对象,服务器发回一个回应(Response)对象,如图7-2所示。
7.1.1Requests类库的介绍
5
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
图7-2Requests运行原理
图7-1Requests的官方网址首页
6
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
3.Requests类库的主要方法
Requests类库的主要方法如表7-1所示。
7
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
4.Requests类库的安装与测试
安装Python后,如果需要使用Requests类库,则需要使用pip来安装相关的第三方模块。在Windows平台下,运行cmd命令窗口,输入“pip3 install requests”并按Enter键,如图7-3所示,即可以安装Requests类库。安装完成后,继续在cmd命令窗口下输入“pip3 list”并按Enter键,检查Requests类库是否安装成功,如图7-4所示。
图73安装Requests类库
8
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
图7-3安装Requests类库
图7-4检查Requests类库是否安装成功
9
在这里可以通过使用requests访问重庆航天职业技术学院的首页来测试Requests类库。使用requests获取重庆航天职业技术学院首页的HTTP访问状态和HTTP响应内容的字符串,代码如下。
import requests
ret=requests.get('http://www.cqepc.cn')
print('HTTP状态码:',ret.status_code)
print('重庆航天职业技术学院主页内容是:',ret.text)
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
10
输出结果如图7-5所示,其中第一行代表HTTP的状态码是200,表示连接成功,后面的是重庆航天职业技术学院首页相应的内容字符串。
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
图7-5Requests类库测试效果
11
5.Requests类库的对象分析
以requests.get()为例,它的作用是获取HTML网页,相当于HTTP中的GET,如上例使用requests访问重庆航天职业技术学院的首页。
7.1网络爬虫Requests类库
7.1.1Requests类库的介绍
import requests
ret=requests.get('http://www.cqepc.cn')
其中,get()构造一个向服务器请求资源的Requests对象。ret变量得到返回一个包含服务器资源的Response对象。
语法结构:requests.get(url,params=None,**kwargs)。
(1)url:需要获取页面的url链接。
(2)params:url中的额外参数,字典或字节流格式,可选。
(3)**kwargs:12个控制访问的参数。
12
6.Response对象的相关属性