我的项目文件夹中有多个蜘蛛,想要一次运行所有蜘蛛,所以我决定使用scrapyd服务运行它们。 我已经通过查看here
开始这样做了首先,我在当前项目文件夹
我打开了scrapy.cfg
文件并在
[部署]
我已经运行scrapy server
命令,运行良好,并且还有一些服务器运行
我尝试了这个命令scrapy deploy -l
结果:default http://localhost:6800/
scrapy deploy -L scrapyd
我得到了以下输出结果:
Usage
=====
scrapy deploy [options] [ [target] | -l | -L <target> ]
deploy: error: Unknown target: scrapyd
当我尝试使用此命令部署项目时scrapy deploy scrapyd -p default
出现以下错误
Usage
=====
scrapy deploy [options] [ [target] | -l | -L <target> ]
deploy: error: Unknown target: scrapyd
我真的无法识别whey scrapyd是否显示上述错误,可以引导我以正确的方式将项目部署到scrapyd
提前致谢..........
已编辑的代码:
在看到Peter Kirby的答案后,我在scrapy.cfg中命名了target并在我的项目文件夹中尝试了以下命令,
命令:
scrapy deploy ebsite -p ebsite
然后我得到了以下错误
Building egg of ebsite-1341808241
'build/lib' does not exist -- can't clean it
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-2.7' does not exist -- can't clean it
zip_safe flag not set; analyzing archive contents...
Deploying ebsite-1341808241 to http://localhost:6800/addversion.json
Deploy failed: <urlopen error [Errno 111] Connection refused>
如何解决这个问题.....
答案 0 :(得分:10)
来自scrapyd服务文档:(http://scrapy.readthedocs.org/en/latest/topics/scrapyd.html?highlight=scrapyd)
您可以通过将目标添加到项目的scrapy.cfg来定义目标 file ...这是一个定义新目标scrapyd2的示例 通过HTTP基本身份验证限制访问:
[deploy:scrapyd2]
url = http://scrapyd.mydomain.com/api/scrapyd/
username = john
password = secret
基本上你的错误意味着你的目标&#34;名字不正确。如果我没记错的话,scrapy.cfg文件将初始目标名称设置为&#34;默认为&#34;。您应该键入的内容如下:
scrapy deploy default -p project_name
答案 1 :(得分:1)
如果您没有命名目标并且默认设置为左设置,只需键入scrapy deploy
即可!
答案 2 :(得分:0)
答案 3 :(得分:0)
当我尝试在没有运行scrapyd的情况下部署项目时出现此错误,这么简单的运行
scrapyd
在另一个终端上修复了错误