Scrapy Shell - 如何更改USER_AGENT

时间:2014-08-21 15:00:08

标签: python shell scrapy agent

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

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

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

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

THX

2 个答案:

答案 0 :(得分:34)

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

答案 1 :(得分:6)

在scrapy shell中,您可以在User-Agent request中设置header

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