Scrapy-Random-Useragent 项目教程

随笔3个月前发布 老姐姐
50 0 0

Scrapy-Random-Useragent 项目教程

scrapy-random-useragentScrapy Middleware to set a random User-Agent for every Request.项目地址:https://gitcode.com/gh_mirrors/sc/scrapy-random-useragent

1. 项目的目录结构及介绍

  1. scrapy-random-useragent/

  2. ├── LICENSE

  3. ├── README.md

  4. ├── scrapy_random_useragent/

  5. │ ├── __init__.py

  6. │ ├── middleware.py

  7. ├── setup.py

  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文档。
  • scrapy_random_useragent/: 项目的主要代码目录。
    • __init__.py: 模块初始化文件。
    • middleware.py: 核心中间件文件,用于设置随机 User-Agent。
  • setup.py: 项目安装脚本。

2. 项目的启动文件介绍

项目的启动文件主要是 middleware.py,其中定义了 RandomUserAgentMiddleware 类,用于在每个请求中设置随机的 User-Agent。

  1. from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware

  2. import random

  3. class RandomUserAgentMiddleware(UserAgentMiddleware):

  4. def __init__(self, user_agent=''):

  5. self.user_agent = user_agent

  6. def process_request(self, request, spider):

  7. ua = random.choice(self.user_agent_list)

  8. if ua:

  9. request.headers.setdefault(b'User-Agent', ua)

  10. # 用户代理列表

  11. user_agent_list = [

  12. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1",

  13. "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",

  14. # 更多 User-Agent 条目

  15. ]

3. 项目的配置文件介绍

在 Scrapy 项目的 settings.py 文件中,需要配置 DOWNLOADER_MIDDLEWARES 以启用 RandomUserAgentMiddleware

  1. DOWNLOADER_MIDDLEWARES = {

  2. 'scrapy_random_useragent.middleware.RandomUserAgentMiddleware': 400,

  3. 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,

  4. }

此外,如果需要与随机代理中间件(如 scrapy-proxies)一起使用,可以设置 RANDOM_UA_PER_PROXYTrue,并调整中间件的优先级。

RANDOM_UA_PER_PROXY = True

通过以上配置,可以在每次请求时使用随机的 User-Agent,从而提高爬虫的匿名性和避免被服务器封禁。

scrapy-random-useragentScrapy Middleware to set a random User-Agent for every Request.项目地址:https://gitcode.com/gh_mirrors/sc/scrapy-random-useragent

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...