我有以下目录结构:
my_project/
__init__.py
spiders/
__init__.py
my_spider.py
other_spider.py
pipeines.py
# other files
现在我可以进入my_project
目录并使用scrapy crawl my_spider
开始抓取。
我想要实现的是能够使用此更新结构运行scrapy crawl my_spider
:
my_project/
__init__.py
spiders/
__init__.py
subtopic1/
__init__.py # <-- I get the same error whether this is present or not
my_spider.py
subtopicx/
other_spider.py
pipeines.py
# other files
但是现在我收到了这个错误:
KeyError:'未找到蜘蛛:my_spider'
将Scrapy蜘蛛组织到目录中的适当方法是什么?
答案 0 :(得分:3)
您必须从包含 scrapy.cfg 的目录运行此scrapy crawl my_spider
。您不会收到任何错误。
my_project/
__init__.py
spiders/
__init__.py
my_spider.py
sub_directory
__init__.py
other_spider.py
pipeines.py
scrapy.cfg
答案 1 :(得分:0)
我知道这已经很久了,但这是在嵌套目录中组织蜘蛛的正确方法。您可以在定义的here.
中设置模块的位置示例:
SPIDER_MODULES = ['my_project.spiders', 'my_project.spiders.subtopic1', 'my_project.spiders.subtopicx']