Scrapy 找不到爬虫错误
我一直在尝试用scrapy运行一个简单的爬虫,但每次运行时都出现这个错误:
找不到域名为: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爬虫无法工作。我一直在严格按照这个教程 http://doc.scrapy.org/intro/tutorial.html 来做,但就是搞不明白为什么不行。
当我在eclipse中运行这段代码时,出现了这个错误:
追踪记录(最近的调用在最前面):
文件 "D:\Python Documents\dmoz\stackexchange\stackexchange\spiders\stackexchange_spider.py",第1行,在 <module>
from scrapy.spider import BaseSpider
导入错误:没有名为scrapy.spider的模块
我搞不明白为什么找不到基本的Spider模块。我的爬虫代码是不是必须保存在脚本目录里?
1 个回答
2
试着运行 python yourproject/spiders/domain.py
来看看有没有语法错误。我觉得你不应该启用绝对导入,因为 Scrapy 依赖于相对导入。