大家好,我正在建立一个使用scrapy框架和python的web scraping项目。在我的项目的爬行器文件夹中,有两个名为spider1和spider2的爬行器
spider1.py
class spider(BaseSpider):
name= "spider1"
........
........spider2.py
class spider(BaseSpider):
name="spider2"
............
...........settings.py
SPIDER_MODULES = ['project_name.spiders']
NEWSPIDER_MODULE = ['project_name.spiders']
ITEM_PIPELINES = ['project_name.pipelines.spider']现在,当我在根项目文件夹中编写命令scrapy crawl spider1时,它的名称是spider2.py,而不是spider1.py。当我要从我的项目中删除spider2.py时,它会调用spider1.py
早些时候1天回来,1个月没问题,但是突然发生了什么,我弄不明白了,请帮帮我。
发布于 2014-11-30 03:00:53
我解决了同样的问题,但是从项目中的任何地方删除所有的*.pyc文件都能解决这个问题。
特别是我认为删除settings.pyc是很重要的。
希望这能有所帮助。
发布于 2015-06-17 13:15:37
基于Nomad的答案。您可以通过添加以下内容来避免在开发过程中创建除一个以外的所有pyc文件:
import sys
sys.dont_write_bytecode = True添加到项目的"__init__.py“文件中。
这将阻止创建.pyc文件。如果您正在处理一个项目,并且重命名了爬行器的文件名,这一点尤其有用。防止剩余的旧蜘蛛的缓存pyc,以及其他一些陷阱。
https://stackoverflow.com/questions/17992051
复制相似问题