Python学习日记 Scrapy框架 4.防反爬虫----fake-useragent

Python学习日记 Scrapy框架 4.防反爬虫----fake_useragent

在第一次使用scrapy shell xxx 响应页面时候,出现404时,需要伪装成浏览器进行访问。

同样,在爬虫中,也有为了防止某些反爬虫机制,我们也需要采取fake Useragent进行访问。Useragent是识别浏览器的一组字符串,就如何人的身份证一样。使用乃至频繁更换Useragent可以帮助我们更好的绕过某些反爬虫措施。fake-useragent是一个开源项目,通过使用fake-useragent可以帮助我们更方便达到频繁更换Useragent的目的

1. fake-useragent安装

在命令行中输入pip install fake-useragent即可完成安装。

pip list检查fake-useragent是否已经成功安装在列表里。

2. scrapy中使用fake-useragent

方法一:.
在spider同级目录下建立一个MidWare文件价里面写一个user_agent_middlewares.py文件内容为

# -*- coding: utf-8 -*-
from fake_useragent import UserAgent
 
class RandomUserAgentMiddlware(object):
    #随机跟换user-agent
    def __init__(self,crawler):
        super(RandomUserAgentMiddlware,self).__init__()
        self.ua = UserAgent()
        self.ua_type = crawler.settings.get('RANDOM_UA_TYPE','random')#从setting文件中读取RANDOM_UA_TYPE值
 
    @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)
        # user_agent_random=get_ua()
        request.headers.setdefault('User_Agent',get_ua())
        pass

在setting.py中添加


 DOWNLOADER_MIDDLEWARES = {
 
'new3.MidWare.user_agent_middlewares.RandomUserAgentMiddlware': 543, 
 
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware':None,
 }

方法二:

即安装 scrapy-fake-useragent库,然后在 settings 中添加下面这一行代码即可:

scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值