Scrapy:未解决的导入错误

时间:2013-01-11 19:26:18

标签: python eclipse scrapy

我在Eclipse中使用Python 2.7。我正在做一个用Scrapy构建基本Web scraper的教程。这是链接。

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

在命令提示符下启动scraper之前,我在尝试以下代码行时收到“未解决的导入”错误:

from scrapy.spider import BaseSpider

from scrapy.selector import HtmlXPathSelector

当我尝试使用以下命令在命令提示符下抓取时:

  

scrapy crawl 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 \脚本

导入以下内容时,我不会收到错误:

import zope.interface

import twisted

import lxml

import OpenSSL

import scrapy

请帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

蜘蛛的名称是应在scrapy crawl命令中使用的参数。此名称在您的蜘蛛代码(name = "Tutorial1")中设置,因此运行命令scrapy crawl Tutorial1应该可以修复命令行问题。

至于导入错误,我注意到你在Windows上。在Windows(7)上安装scrapy可能比其他操作系统更复杂。这个article建议另外安装pyopenssl,w3lib和pywin32。

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