2

大家好,我正在使用 scrapy 框架和 python 构建一个网络抓取项目。在我项目的蜘蛛文件夹中,我有两个名为 spider1 和 spider2 的蜘蛛

蜘蛛1.py

class spider(BaseSpider):
    name= "spider1"
    ........
    ........

蜘蛛2.py

class spider(BaseSpider):
    name="spider2"
    ............
    ...........

设置.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 个月,但突然发生了什么我无法弄清楚,请帮助我

4

2 回答 2

1

我解决了同样的问题,但是从我的项目中的任何地方删除所有 *.pyc 文件完成了这项工作。

特别是我认为 settings.pyc 删除很重要。

希望有帮助。

于 2014-11-29T19:00:53.437 回答
1

以 Nomad 的回答为基础。您可以通过添加以下内容来避免在开发过程中创建除一个 pyc 文件之外的所有文件:

import sys
sys.dont_write_bytecode = True

到项目的“ __init__.py ”文件。

这将阻止创建.pyc文件。如果您正在处理一个项目并重命名蜘蛛的文件名,则特别有用。防止保留旧蜘蛛的缓存 pyc,以及其他一些陷阱。

于 2015-06-17T05:15:37.113 回答