2013-01-11 75 views
0

我在Python中使用Python 2.7。我正在做一個教程,使用Scrapy構建一個基本的Web刮板。鏈接在這裏。Scrapy:未解決的導入錯誤

http://www.youtube.com/watch?v=4fbvkMhvsWY

之前推出,在命令提示符刮板嘗試下面的代碼行,當我收到「未解決的導入」錯誤:

from scrapy.spider import BaseSpider 

from scrapy.selector import HtmlXPathSelector 

當我嘗試在命令提示符下抓取使用以下命令:

scrapy爬行MYFILE

我得到錯誤,「Spider not found:myfile」

我還在我的items.py文件中得到了另一個未解決的導入錯誤。 「字段」不僅會得到「未解決的導入」錯誤,而且還會導致「未使用的導入」錯誤。從items.py文件

代碼:

from scrapy.item import Item, Field 

這裏是從蜘蛛文件中的代碼:

蜘蛛文件(名爲Tutorial1.py)

from scrapy.spider import BaseSpider 

from scrapy.selector import HtmlXPathSelector 

class Tutorial1 (BaseSpider): 
    name="Tutorial1" 

    allowed_domains=['http://wikipedia.org'] 
    start_urls = ["http://en.wikipedia.org/wiki/Home_page",] 

    def parse(self, response): 
     hxs = HtmlXPathSelector(response) 
     print hxs.select('//div/a').extract() 

也在嘗試時做其他教程我遇到同樣的問題,導致我相信這與我的目錄有關。雖然我不確定。

我發現其他人也有類似的問題。

Scrapy: ImportError: No module named items

Scrapy spider is not working

我的系統路徑是這樣的:

C:\ Python27; C:\ Python27 \ Scripts中

我沒有收到錯誤消息導入以下內容:

import zope.interface 

import twisted 

import lxml 

import OpenSSL 

import scrapy 

請幫我弄清楚這一點。提前致謝。

回答

0

您的蜘蛛的名稱是您的scrapy crawl命令中應該使用的參數。該名稱在您的蜘蛛代碼(name = "Tutorial1")中設置,因此運行命令scrapy crawl Tutorial1應修復命令行問題。

至於導入錯誤,我注意到你在Windows上。在Windows(7)上安裝scrapy可能比其他操作系統涉及更多。這article建議另外安裝pyopenssl,w3lib和pywin32。

您使用的是什麼版本的scrapy?

+0

嘿Talvalin。感謝您的反饋。 Windows的安裝確實是一個過程。花了我幾個小時。我使用easy_install並下載了Scrapy的.16版本。我會嘗試安裝pyopenssl,w3lib和pywin32。我很欣賞這些反饋。這真的很令人頭疼。 –

+0

獲得它的任何快樂工作? – Talvalin

+0

顯然,嘗試使用Scrapy時,Python的64位版本非常難以使用。我正在使用Python的64位版本。我要卸載它並重新安裝32位版本的Python。我會讓你知道它是怎麼回事。感謝您一直以來的幫助。 –