Scrapy找不到蜘蛛错误

时间:2010-05-22 00:57:47

标签: python dns scrapy

我一直试图让一个简单的蜘蛛与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模块。我的蜘蛛是否必须保存在脚本目录中?

1 个答案:

答案 0 :(得分:2)

尝试运行python yourproject/spiders/domain.py以查看是否存在语法错误。我不认为你应该启用绝对导入,因为scrapy依赖于亲戚的进口。