2012-07-06 43 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 

另一端固定錯誤