Scrapy 中 Downloader 设置UA
下载中间件是Scrapy请求/响应处理的钩子框架。这是一个轻、低层次的应用。
通过可下载中间件,可以处理请求之前和请求之后的数据。
如果使用下载中间件需要在Scrapy中的setting.py的配置DOWNLOADER_MIDDLEWARES才可以使用,
比如:
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.CustomDownloaderMiddleware': 543,
}
开发UserAgent下载中间件
问题
每次创建项目后,需要自己复制UserAgent到settings,比较繁琐
解决方案
开发下载中间件,设置UserAgent
代码
from fake_useragent import UserAgent
class MyUserAgentMiddleware:
def process_request(self, request, spider):
request.headers.setdefault(b'User-Agent', UserAgent().chrome)
三方模块
pip install scrapy-fake-useragent==1.4.4
配置模块到Setting文件
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'scrapy.downloadermiddlewares.retry.RetryMiddleware': None,
'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400,
'scrapy_fake_useragent.middleware.RetryUserAgentMiddleware': 401,
}
标签:中间件,scrapy,Scrapy,useragent,UserAgent,下载 From: https://www.cnblogs.com/jiangjiayun/p/17503771.html