Scrapy Shell - 如何更改 USER_AGENT
Posted
技术标签:
【中文标题】Scrapy Shell - 如何更改 USER_AGENT【英文标题】:Scrapy Shell - How to change 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]
谢谢
【问题讨论】:
Scrapy Python Set up User Agent的可能重复 不同的问题。我可以在 settings.py 中更改 USER_AGENT 没问题。我正在尝试更改scrapy shell下的设置:doc.scrapy.org/en/latest/topics/shell.html 【参考方案1】:在scrapy shell里面,你可以在request
header
中设置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
命令传递任何额外参数。以上是关于Scrapy Shell - 如何更改 USER_AGENT的主要内容,如果未能解决你的问题,请参考以下文章