使用scrapyd部署项目时出错

Shi*_*dla 7 python scrapy scrapyd

我的项目文件夹中有多个蜘蛛,想要一次运行所有的蜘蛛,所以我决定使用scrapyd服务运行它们.我已经开始这样做

首先,我在当前项目文件夹中

  1. 我打开了scrapy.cfg文件,然后取消注释了url行

    [部署]

  2. 我运行了scrapy server命令,运行良好,并且运行了scrapyd服务器

  3. 我试过这个命令 scrapy deploy -l

    结果: default http://localhost:6800/

  4. 当我尝试这个命令时,scrapy deploy -L scrapyd我得到了以下输出

结果:

Usage
=====
  scrapy deploy [options] [ [target] | -l | -L <target> ]

deploy: error: Unknown target: scrapyd
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此命令部署项目时scrapy deploy scrapyd -p default出现以下错误

Usage
=====
  scrapy deploy [options] [ [target] | -l | -L <target> ]

deploy: error: Unknown target: scrapyd
Run Code Online (Sandbox Code Playgroud)

我真的无法识别whey scrapyd是否显示上述错误,可以引导我以正确的方式将项目部署到scrapyd

提前致谢..........

编辑代码:

在看到Peter Kirby的答案之后,我在scrapy.cfg中命名了target并在我的项目文件夹中尝试了以下命令,

命令:

scrapy deploy ebsite -p ebsite
Run Code Online (Sandbox Code Playgroud)

然后我得到了以下错误

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>
Run Code Online (Sandbox Code Playgroud)

怎么解决这个.....

Pet*_*rby 10

来自scrapyd服务文档:(http://scrapy.readthedocs.org/en/latest/topics/scrapyd.html?highlight=scrapyd)

您可以通过将目标添加到项目的scrapy.cfg文件来定义目标...以下是通过HTTP基本身份验证定义具有受限访问权限的新目标scrapyd2的示例:

[deploy:scrapyd2]
url = http://scrapyd.mydomain.com/api/scrapyd/
username = john
password = secret
Run Code Online (Sandbox Code Playgroud)

基本上你的错误意味着你的"目标"名称是不正确的.如果我没记错的话,scrapy.cfg文件将初始目标名称设置为"default".你应该输入的是:

scrapy deploy default -p project_name
Run Code Online (Sandbox Code Playgroud)