2010-05-22 86 views
4

我一直在試圖讓一個簡單的蜘蛛與scrapy運行,但不斷收到錯誤:Scrapy找不到蜘蛛錯誤

Could not find spider for domain:stackexchange.com

當我運行與表達 scrapy-ctl.py crawl stackexchange.com代碼

。蜘蛛是如下:

from scrapy.spider import BaseSpider 
from __future__ import absolute_import 


class StackExchangeSpider(BaseSpider): 
    domain_name = "stackexchange.com" 
    start_urls = [ 
     "http://www.stackexchange.com/", 
    ] 

    def parse(self, response): 
     filename = response.url.split("/")[-2] 
     open(filename, 'wb').write(response.body) 

SPIDER = StackExchangeSpider()` 

完全相同的問題幾個月前另一個人幾乎貼,但並沒有說他們是如何解決它,Scrapy spider is not working 我一直在關注turtorial正是在http://doc.scrapy.org/intro/tutorial.html,並不能找出它爲什麼不管用。

當我在Eclipse中運行這個代碼,我得到的錯誤

Traceback (most recent call last): File "D:\Python Documents\dmoz\stackexchange\stackexchange\spiders\stackexchange_spider.py", line 1, in <module> from scrapy.spider import BaseSpider ImportError: No module named scrapy.spider

我想不通爲什麼它沒有找到基地蜘蛛模塊。我的蜘蛛是否必須保存在腳本目錄中?

+0

我的蜘蛛沒有任何規則聲明,所以我不認爲這適用。但我可能是錯的。 – Kristin 2010-05-22 01:04:25

+0

使用本教程中定義的DmozSpider時,您會遇到同樣的錯誤嗎? – unutbu 2010-05-22 01:36:14

+0

我還沒有嘗試與dmoz作爲域。我所做的只是改變它爬行的網站。 – Kristin 2010-05-22 01:46:28

回答

2

嘗試運行python yourproject/spiders/domain.py以查看是否有任何語法錯誤。由於scrapy依賴親屬進口,我認爲你不應該啓用絕對導入。

+1

它說它找不到scrapy.spider模塊 – Kristin 2010-05-23 17:03:44

+0

雅,第一個問題說'找不到蜘蛛的域:stackexchange.com'這是一個scrapy消息,因此scrapy模塊加載正確。後一個問題與eclipse和pythonpath有關。 – Rolando 2010-05-23 21:23:49

+1

問題修復。在另一臺計算機上重新安裝。必須有文件錯位或安裝錯誤。 – Kristin 2010-05-25 22:53:08