我试图在scrapinghub平台上启用我的蜘蛛中的mongodb。为此,我必须通过" EXTENSIONS"来启用扩展。在UI中设置。但是,在运行蜘蛛时,我得到以下错误:
ValueError: Some paths in "{'scrapy.contrib.feedexport.FeedExporter': None}" convert to the same object, please update your settings
我的设置如下:
EXTENSIONS = {'scrapy.contrib.feedexport.FeedExporter': None}
如果我删除此设置,则会出现以下错误:
exceptions.ValueError: Some paths in "{'scrapy_mongodb.MongoDBPipeline': 300}" convert to the same object, please update your settings
设置如下:
ITEM_PIPELINES = {'scrapy_mongodb.MongoDBPipeline': 300}
令人担心的是,这两个设置在本地报废中都能正常工作。
答案 0 :(得分:1)
Scrapy Cloud会将设置的任何给定值转换为字符串。在您的情况下,您使用的词典将被解释为字符串"{'scrapy.contrib.feedexport.FeedExporter': None}"
。
问题是在Scrapy中不支持为EXTENSIONS
设置字符串(实际上,大多数采用字典值的设置都不支持它,通常是因为它们可以接受其他值将strings
转换为dict
的类型可能会导致无意义的事情。
Scrapy代码处理设置时发生了一些变化,因此隐藏了实际问题,但应该是这样。仅将您的设置放在项目设置文件settings.py
中可以解决您的问题。