我一直试图让一个简单的蜘蛛与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 我一直在http://doc.scrapy.org/intro/tutorial.html完全跟踪turtorial,并且无法弄清楚它为什么不起作用。
当我在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
我无法弄清楚为什么它找不到基础Spider模块。我的蜘蛛是否必须保存在脚本目录中?
答案 0 :(得分:2)
尝试运行python yourproject/spiders/domain.py
以查看是否存在语法错误。我不认为你应该启用绝对导入,因为scrapy依赖于亲戚的进口。