scrapy下载中间件使用
在settings.py中开启下载中间件
Downloader Middlewares默认的方法:
process request(self, request, spider):
当每个request通过下载中间件时,该方法被调用也就是创建request时
process response(self, request, response, spider)
当下载器完成http请求,传递响应给引擎的时候调用
比如可以用precess_request来破坏一些反爬
在settings.py中定义一些useragent
在Middleware中定义一个中间件
ua=random.choice(spider.settings.get("USER_AGENT_LIST"))
request.headers["User-Agent"]=ua
以上的中间件要去settings.py中注册一下
更多例子
cLass RandomUserAgent(object):
def process_request(self, request, spider):
useragent =random.choice(USER_AGENTS)
request headers["User-Agent]=useragent
---->添加自定义的UA,给 request的 headers赋值即可
class ProxyMiddleware(object)
def process_request(selfs, request, spider)
request.meta["proxy]=http://124.115.126.76:808"
添加代理,需要在 request的meta信息中添加 proxy字段
----->代理的形式为:协议+i地址+端口
Comments NOTHING