吉阿吉

Scrapy下载器中间件

中间件:批量拦截请求和响应,分为爬虫中间件和下载中间件,通常只用下载中间件。

一、实现随机User-Agent下载器中间件

   1、准备user-agent列表

            2、定义RandomUserAgent类

             3、实现process_request方法

#request拦截到的请求,spider爬虫类实例化的对象 def process_request(self,request,spider) 二、实现代理ip中间件 1、定义ProxyMiddleware类 2、实现process_request方法,设置代理

三、在settings.py开启,并配置重试次数
1、配置ProxyMiddleware类时需注意scrapy.downloadmiddlewares.httpoprxy.HttpProxyMiddleware及重试下载中间件的先后顺序
2、设置重试次数,RETRY_YIMES=
四、下载中间件常用类方法:
#拦截所有的请求
def process_request(self,request,spider):
#seeting中处理UA在于根据url设定UA
request.headers['User-Agent']=
request.headers['Cookies']=
#setting中设置COOKIES_ENABLED=True可自动处理cookies
#拦截所有的响应对象
def process_response()
#拦截异常请求,对异常的请求修正,将其变成正常的请求,重新发送
def procrss_exception(self,request,exception,spider):
#ip导致的异常
request.meta['proxy']=
return request

posted on 2021-04-19 22:58  吉阿吉  阅读(114)  评论(0)    收藏  举报

导航