我有一个功能齐全的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
答案 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)