Scrapy вызывает паука, отличного от указанного в командной строке

(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. Почему это происходит и что мне с этим делать?


person Malik A. Rumi    schedule 19.10.2015    source источник
comment
@LearnAWK: да, верно, и в этом случае «zomd» находится в zomd.py, а t350_crawl — в t350_crawl.py, поэтому мой вопрос остается без ответа. Однако в Django есть команда, я думаю, она называется «проверить», которая просматривает весь код проекта в поисках ошибок; Интересно, есть ли аналогичная функция в Scrapy?   -  person Malik A. Rumi    schedule 20.10.2015


Ответы (1)


Имя паука не совпадает с именем файла. Он определяется в файле паука второй строкой ниже:

class CAPjobSpider(Spider):
    name = "spider_name" 

Вышеуказанное имя паука — «spider_name», даже если файл может быть «New_York.py».

person LearnAWK    schedule 20.10.2015