一 下载Scrapy的下载中间件
下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。
下载中间件的作用:
(1)引擎请求传递给下载器的过程中,下载中间件可以对请求进行一系列处理。比如:设置User-Agent,设置代理等。
(2)在下载器完成将Response传递给引擎中,下载中间件可以对响应进行一系列的处理。
我们主要使用下载中间件处理请求,设置随机的代理IP,对请求设置随机的User-Agent。目的在于防止爬取网站时的反爬虫策略。
二 UA池:User-Agent
作用是:尽量将scrapy工程中的请求伪装成不同类型的浏览器身份。
步骤如下:
(1) 在下载中间件中拦截请求
(2)将拦截到的请求的请求信息中的UA进行篡改伪装
(3)在配置文件中开启下载中间件
middlewares.py中
三 代理池
作用是:将Scrapy工程中的请求中的IP设置成不同的
步骤:(与UA池基本上是一样的)
(1)在下载中间件中拦截请求
(2) 将拦截到的请求中的IP修改成某一个代理的IP
(3)在配置文件中开启下载中间件
middlewares.py