前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scrapy:修改User-Agent方法

Scrapy:修改User-Agent方法

作者头像
新码农
修改2020-12-25 10:57:29
2.7K0
修改2020-12-25 10:57:29
举报

导读

使用Scrapy写爬虫的时候,会莫名其妙的被目标网站拒绝,很大部分是浏览器请求头的原因。

1、默认请求头

"User-Agent": "Scrapy/1.8.0 (+http://scrapy.org)"

2、修改请求头

  • 全局设置

所有爬虫所有连接生效。

settings.py

# Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36"
  • 爬虫设置

单个爬虫所有连接生效。

爬虫文件

class MySpider(scrapy.Spider):
    name = "myspider"
    custom_settings = {
        "USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36",
    }
  • 链接设置

单个请求的单个链接生效。

爬虫文件

USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36"


class MySpider(scrapy.Spider):
    name = "myspider"
    start_urls = ("https://baidu.com",)

    def start_requests(self):
        for url in self.start_urls:
            yield scrapy.Request(url, headers={"User-Agent": USER_AGENT})
  • 中间件设置

从整个项目中去修改请求头的设置规则,变化多端,不同的写法,可以配置出不同的设置方式。

settings.py

"DOWNLOADER_MIDDLEWARES": {
        "myspider.middlewares.UserAgentMiddleware": 544,
    }

middlewares.py

class UserAgentMiddleware(object):
    def process_request(self, request, spider):
        request.headers["User-Agent"] = ""

3、优先级

headers > custom_settings > settings.py > Scrapy默认
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年8月4日 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导读
    • 1、默认请求头
      • 2、修改请求头
        • 3、优先级
        相关产品与服务
        消息队列 TDMQ
        消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档