【问题标题】:Scrapy Shell - How to change USER_AGENTScrapy Shell - 如何更改 USER_AGENT
【发布时间】:2014-10-15 06:48:50
【问题描述】:

我有一个功能齐全的 scrapy 脚本来从网站中提取数据。在设置过程中,目标站点根据我的 USER_AGENT 信息禁止了我。我随后添加了一个 RotateUserAgentMiddleware 来随机旋转 USER_AGENT。这很好用。

但是,现在当我尝试使用 scrapy shell 测试 xpath 和 css 请求时,我收到 403 错误。我确定这是因为 scrapy shell 的 USER_AGENT 默认为目标站点已列入黑名单的某个值。

问题:是否可以在scrapy shell 中使用与默认不同的USER_AGENT 获取URL?

fetch('http://www.test') [添加一些东西??更改 USER_AGENT]

谢谢

【问题讨论】:

标签: python shell scrapy agent


【解决方案1】:

在scrapy shell里面,你可以在requestheader中设置User-Agent

url = 'http://www.example.com'
request = scrapy.Request(url, headers={'User-Agent': 'Mybot'})
fetch(request)

【讨论】:

    【解决方案2】:

    scrapy shell -s USER_AGENT='custom user agent' 'http://www.example.com'

    【讨论】:

    • 你知道如何在scrapy shell中添加标题吗?谢谢。
    • 我来到这里是因为我从项目目录外部运行 shell,而我的设置文件被忽略了。切换到项目目录后,自定义USER_AGENT 设置正常工作,无需向scrapy shell 命令传递任何额外参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    相关资源
    最近更新 更多