【发布时间】:2013-08-01 10:53:22
【问题描述】:
大家好,我正在使用 scrapy 框架和 python 构建一个网络抓取项目。 在我项目的蜘蛛文件夹中,我有两个名为 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 个月,但突然发生了什么我无法弄清楚,请帮帮我
【问题讨论】:
-
当你重命名类时会发生什么,即将spider1.py中的
class spider(BaseSpider):...更改为class Spider1(BaseSpider):...,spider2.py中的class Spider2(BaseSpider):...? -
如果我在两个蜘蛛中更改类名,什么都不会发生
-
尝试清除所有 *.pyc 文件并确保您在“名称”属性中为蜘蛛指定了不同的名称。
-
我已尝试清理所有 *.pyc 文件
-
还有一件奇怪的事情正在发生@Sjaak。我已经清理了 spider1.pyc、spider2.pyc 和 init.pyc。现在,当我在项目的根目录中运行
scrapy crawl spider1时,它实际上运行的是 spider2.py 但生成的是 spider1.pyc 文件而不是 spider2.pyc
标签: web-crawler scrapy