我试图通过在项目configuration file中添加一行来覆盖crawpsider的用户代理。代码如下:
[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
但是,当我在自己的web上运行爬虫程序时,我注意到蜘蛛并没有获取我的自定义用户代理,而是默认的“Scrapy/0.18.2(+http://scrapy.org)”。 有人能解释我做错了什么吗。
注:
(一)。当我试图重写user agent globally时,它起作用:
scrapy crawl myproject.com -o output.csv -t csv -s USER_AGENT="Mozilla...."
(二)。当我从配置文件中删除“default=myproject.setting”行并运行scrapy crawl myproject.com时,它会显示“找不到spider…”,因此我觉得在这种情况下不应该删除默认设置。
非常感谢你的帮助。
以防有人在这里降落,手动控制抓斗。i、 e.你确实没有使用外壳上的抓取过程。。。
但是你用
CrawlerProcess()
或CrawlerRunner()
。。。或者
然后,用户代理和其他设置可以在配置变量字典中传递给爬网程序。
像这样。。。
将用户代理行移到
settings.py
文件,而不是scrapy.cfg
文件。settings.py
应该与items.py
处于同一级别,如果使用scrapy startproject
命令,则应该类似于myproject/settings.py
我也有同样的问题。试着以超级用户的身份运行你的蜘蛛。我是直接用命令“scrapy runspider”运行蜘蛛的,当时我只是试着用“sudo scrapy runspider”执行它。
相关问题 更多 >
编程相关推荐