Scrapy Python设置用户代理

B.M*_*.W. 27 python user-agent screen-scraping web-crawler scrapy

我试图通过向项目配置文件添加额外的行来覆盖我的crawlspider的用户代理.这是代码:

[settings]
default = myproject.settings
USER_AGENT = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36"


[deploy]
#url = http://localhost:6800/
project = myproject
Run Code Online (Sandbox Code Playgroud)

但是当我对自己的网络运行爬虫时,我注意到蜘蛛没有拿起我的自定义用户代理,而是默认的"Scrapy/0.18.2(+ http://scrapy.org)".任何人都可以解释我做错了什么.

注意:

(1).它在我尝试全局覆盖用户代理时起作用:

scrapy crawl myproject.com -o output.csv -t csv -s USER_AGENT="Mozilla...."
Run Code Online (Sandbox Code Playgroud)

(2).当我从配置文件中删除"default = myproject.setting"行并运行scrapy crawl myproject.com时,它说"找不到蜘蛛......",所以我觉得在这种情况下不应该删除默认设置.

非常感谢您的帮助.

pau*_*rth 38

将USER_AGENT行移至该settings.py文件,而不是scrapy.cfg文件中.settings.py应该处于与items.py使用scrapy startproject命令相同的级别,在您的情况下它应该是类似的myproject/settings.py

  • 以下是用于欺骗 Googlebot 的 [UA 字符串](https://support.google.com/webmasters/answer/1061943?hl=en)。前去掠夺。 (2认同)