7

我的项目文件夹中有多个蜘蛛,并且想一次运行所有蜘蛛,所以我决定使用 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

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

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

deploy: error: Unknown target: scrapyd

我真的无法识别乳清 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>

这个怎么解决。。。。。。

4

4 回答 4

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

本质上,您的错误意味着您的“目标”名称不正确。如果我没记错的话,scrapy.cfg 文件将初始目标名称设置为“默认”。您应该输入的内容类似于:

scrapy deploy default -p project_name
于 2012-07-08T05:28:23.770 回答
1

scrapy deploy如果您没有命名目标并保留默认设置,只需键入!

于 2012-07-06T13:20:21.777 回答
0

这是scrapyd proc没有权限!您需要杀死 proc,然后使用 root 用户,只需键入:

scrapy server

然后新的scrapyd将运行。然后你可以按照scrapyd文档所说的那样做。

于 2013-04-16T07:38:33.500 回答
0

当我尝试在没有运行scrapyd的情况下部署我的项目时出现此错误,所以运行简单

scrapyd

在另一个终端上修复了错误

于 2016-04-29T04:15:43.827 回答