Scrapy - 在下载器中间件中设置随机User-Agent

本文介绍了如何在Scrapy项目中通过middlewares.py实现随机生成User-Agent,提升网页抓取的隐蔽性。设置中间件确保每次请求头使用不同浏览器标识,增强爬虫的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


项目目录

在这里插入图片描述

  • 在middlewares.py中
  • 编写随机User-Agent的逻辑
import random


class RandomUserAgent:
    def get_ua(self):
        a = random.randint(55, 62)
        c = random.randint(0, 3200)
        d = random.randint(0, 150)
        os_type = [
            '(Windows NT 6.1; WOW64)', '(Windows NT 10.0; WOW64)', '(X11; Linux x86_64)',
            '(Macintosh; Intel Mac OS X 10_12_6)'
        ]
        chrome_version = f'Chrome/{a}.0.{c}.{d}'
        ua = ' '.join(
            ['Mozilla/5.0', random.choice(os_type), 'AppleWebKit/537.36', '(KHTML, like Gecko)', chrome_version,
             'Safari/537.36'])
        return ua

    def process_request(self, request, spider):
        request.headers['User-Agent'] = self.get_ua()

  • 在settings.py中
  • 开启上面写的中间件
DOWNLOADER_MIDDLEWARES = {
    'scrapy_test.middlewares.RandomUserAgent': 100,
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值