2012-07-06 60 views
7

我的项目文件夹中有多个蜘蛛,想要一次运行所有的蜘蛛,所以我决定使用scrapyd服务来运行它们。 我已经开始通过看here在使用scrapyd部署项目时出错

首先,这样做,我在当前项目文件夹

  1. 我打开了scrapy.cfg文件和

    后注释掉URL行[部署]

  2. 我已经运行了scrapy server命令,该工作正常,并且服务器运行正常

  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

感谢事先以正确的方式..... .....

编辑代码

看到彼得·柯比的答案后,我在scrapy.cfg指定的目标,并在我的项目文件夹中尝试下面的命令,

命令

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> 

如何解决这个问题.....

回答

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文件将初始目标名称设置为“default”。你应该打字的东西是这样的:

scrapy deploy default -p project_name 
+0

感谢乌拉圭回合的答复上,如u说,我编辑了我代码如上,我得到了上述错误,你能告诉我如何解决 – 2012-07-09 04:58:19

+0

尝试访问Scrapyd网页界面。转到http:// localhost:6800或键入curl http:// localhost:6800/listprojects.json并告诉我会发生什么。这可能是Scrapyd安装不正确。你在什么操作系统上? – 2012-07-10 14:35:54

1

只需键入scrapy deploy如果你没有命名的目标和左默认设置!

0

这是scrapyd proc没有权限! 你需要杀死进程内,然后用root用户,只需键入:

scrapy server 

那么新scrapyd将run.then你可以做scrapyd documention说。

0

我得到这个错误时,我尝试没有scrapyd运行部署我的项目,所以简单来看

scrapyd 

另一端固定错误