如何将我的蜘蛛组织成Scrapy中的嵌套目录?

时间:2016-06-20 06:03:12

标签: scrapy scrapy-spider

我有以下目录结构:

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蜘蛛组织到目录中的适当方法是什么?

2 个答案:

答案 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']