今日概要python
今日详情浏览器
一.下载中间件app
先祭出框架图:框架
下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。dom
- 做用:scrapy
(1)引擎将请求传递给下载器过程当中, 下载中间件能够对请求进行一系列处理。好比设置请求的 User-Agent,设置代理等ide
(2)在下载器完成将Response传递给引擎中,下载中间件能够对响应进行一系列处理。好比进行gzip解压等。网站
咱们主要使用下载中间件处理请求,通常会对请求设置随机的User-Agent ,设置随机的代理。目的在于防止爬取网站的反爬虫策略。url
二.UA池:User-Agent池spa
- 做用:尽量多的将scrapy工程中的请求假装成不一样类型的浏览器身份。
- 操做流程:
1.在下载中间件中拦截请求
2.将拦截到的请求的请求头信息中的UA进行篡改假装
3.在配置文件中开启下载中间件
代码展现:
三.代理池
- 做用:尽量多的将scrapy工程中的请求的IP设置成不一样的。
- 操做流程:
1.在下载中间件中拦截请求
2.将拦截到的请求的IP修改为某一代理IP
3.在配置文件中开启下载中间件
代码展现: