Scrapy_下载中间件设置UserAgent

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,
}

 

posted @ 2023-06-25 19:17  jiang_jiayun  阅读(105)  评论(0)    收藏  举报