我在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
我的系统路径如下所示:
C:\ Python27; C:\ Python27 \脚本
导入以下内容时,我不会收到错误:
import zope.interface
import twisted
import lxml
import OpenSSL
import scrapy
请帮我解决这个问题。提前谢谢。
答案 0 :(得分:0)
蜘蛛的名称是应在scrapy crawl
命令中使用的参数。此名称在您的蜘蛛代码(name = "Tutorial1"
)中设置,因此运行命令scrapy crawl Tutorial1
应该可以修复命令行问题。
至于导入错误,我注意到你在Windows上。在Windows(7)上安装scrapy可能比其他操作系统更复杂。这个article建议另外安装pyopenssl,w3lib和pywin32。
您使用的是什么版本的scrapy?