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