Scrapy调用蜘蛛而不是命令行中指定的蜘蛛

时间:2015-10-19 12:49:46

标签: scrapy-spider

(P6Svenv)malikarumi@Tetuoan2:~/Projects/P6/P6Svenv/test2/test2/spiders$     scrapy crawl zomd
Traceback (most recent call last):
File "/usr/bin/scrapy", line 9, in <module>
load_entry_point('Scrapy==1.0.3.post6-g2d688cd', 'console_scripts', 'scrapy')()
File "/usr/lib/pymodules/python2.7/scrapy/cmdline.py", line 142, in execute
cmd.crawler_process = CrawlerProcess(settings)
File "/usr/lib/pymodules/python2.7/scrapy/crawler.py", line 209, in __init__
super(CrawlerProcess, self).__init__(settings)
File "/usr/lib/pymodules/python2.7/scrapy/crawler.py", line 115, in __init__
self.spider_loader = _get_spider_loader(settings)
File "/usr/lib/pymodules/python2.7/scrapy/crawler.py", line 296, in _get_spider_loader
return loader_cls.from_settings(settings.frozencopy())
File "/usr/lib/pymodules/python2.7/scrapy/spiderloader.py", line 30, in from_settings
return cls(settings)
File "/usr/lib/pymodules/python2.7/scrapy/spiderloader.py", line 21, in __init__
for module in walk_modules(name):
File "/usr/lib/pymodules/python2.7/scrapy/utils/misc.py", line 71, in walk_modules
submod = import_module(fullpath)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/malikarumi/Projects/P6/P6Svenv/test2/test2/spiders/t350_crawl.py", line 36
def parse_item(self, response):
                              ^
IndentationError: unindent does not match any outer indentation level
你看到了吗? Scrapy甚至不会调用我在命令行中指定的蜘蛛!

我在追溯中看到超级,但我的所有t350都来自CrawlSpider。 zomd是scrapy.Spider的子类。为什么会发生这种情况,我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

Spider的名称不等于文件名。它在蜘蛛文件中由下面的第二行定义:

class CAPjobSpider(Spider):
    name = "spider_name" 

上述蜘蛛的名称是“ spider_name ”,即使该文件可能是“New_York.py”。