2014-09-11 102 views
2

我是scrapy的新手,但已成功创建了一个相当复杂的蜘蛛。现在我想再添加几个到同一个项目。我试图复制我的工作蜘蛛,并编辑它与另一个目标一起工作,但我得到各种全局变量错误。我尝试过“scrapy抓取my_new_spider”,但似乎所有的蜘蛛都正在启动。是什么赋予了?应该只在现有的蜘蛛中添加一个新类?这似乎没有可扩展性......任何指针将不胜感激。这些文件让我颇为惊讶,但现在我已陷入困境。如何管理scrapy项目中的多个蜘蛛

非常感谢!

+0

代码运行的蜘蛛?很有帮助。 – 2014-09-11 03:55:49

+0

global my_var = True – MoreScratch 2014-09-11 16:11:10

回答

5

我从你的问题中了解到,添加更多蜘蛛的最好方法是在蜘蛛文件夹下的新文件中添加新类, 尝试给每个蜘蛛分别命名。使用这个结构,你可以在同一个项目下共享你的items.py,settings.py等所有的蜘蛛。

tutorial/ 
    scrapy.cfg 
    tutorial/ 
     __init__.py 
     items.py 
     pipelines.py 
     settings.py 
     spiders/ 
      __init__.py 
      spider1.py 
      spider2.py 
      ...... 

和spider1和spider2即可设置相应的名称,如

name= "spider1" and name="spider2" 

,这样就可以作为

scrapy crawl spider_name 
+0

谢谢Tasawer!这正是我所做的,但错误仍然存​​在。我不明白为什么如果我指定了我想要发起的蜘蛛,它会在其他蜘蛛中抛出一个错误。它几乎和scrapy一样试图启动所有的蜘蛛,而不是我指定的蜘蛛。我可以更改全局变量名称,但我认为这只是设置和/或配置不当的一个症状。我需要在设置中做什么特别的事情吗?也许我的课是静态的? – MoreScratch 2014-09-11 16:11:57

+0

修复了一个小的语法错误之后,您的建议帮助我解决了我的问题的根源。谢谢。 – MoreScratch 2014-09-11 22:28:46