Scrapy Shell - 如何更改USER_AGENT

dfr*_*edt 13 python shell agent scrapy

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

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

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

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

谢谢

mar*_*ven 40

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

  • 我到达这里是因为我是从项目目录外部运行外壳程序,而我的设置文件被忽略了。进入项目目录后,自定义的USER_AGENT设置即可正常工作,无需将任何额外的参数传递给scrapy shell命令。 (2认同)

sal*_*hed 6

里面的scrapy外壳,可以设置User-Agentrequest header.

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