[python爬虫] fake-useragent设置随机请求头

尝试使用

直到刚才还在百度随机请求头复制粘贴的我。。。发现了这个好东西。。。参考了一下别人的文章,正好用在自己的小东西里

下载地址及详细使用方法 https://github.com/hellysmile/fake-useragent
在这里插入图片描述
在这里插入图片描述

scrapy中设置

在middlewares.py中设置如下代码(看不懂就直接复制粘贴即可,类的名字可以自定义)

from fake_useragent import UserAgent //导包

class RandomUserAgentDownloadMiddlware(object):

    '''随机更换user-agent,基本上都是固定格式和scrapy源码中useragent.py中UserAgentMiddleware类中一致'''

    def __init__(self,crawler):
        super(RandomUserAgentDownloadMiddlware,self).__init__()
        self.ua = UserAgent()
        #从配置文件settings中读取RANDOM_UA_TYPE值,默认为random,可以在settings中自定义
        self.ua_type = crawler.settings.get("RANDOM_UA_TYPE","random")

    @classmethod
    def from_crawler(cls,crawler):
        return cls(crawler)

    def process_request(self,request,spider):#必须和内置的一致,这里必须这样写
        def get_ua():
            return getattr(self.ua,self.ua_type)
        request.headers.setdefault('User-Agent',get_ua())

在settings.py中设置上面那个类作为下载器中间件(以前的就不用了)
同时要设置一下随机请求头的类型

在这里插入图片描述
这样就设置完成了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值