【问题标题】:Add settings in scrapinghub spider在 scrapinghub spider 中添加设置
【发布时间】:2015-09-09 09:42:14
【问题描述】:

我正在尝试在 scrapinghub 平台的蜘蛛中启用 mongodb。为此,我必须通过 UI 中的“EXTENSIONS”设置启用扩展。但是,在运行蜘蛛时,我收到以下错误:

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}

令人担忧的是,这两个设置都在本地 scrapyd 中正常工作。

【问题讨论】:

  • 你能在本地用 Scrapy 1.0 试试吗?
  • 是的,新版本在本地运行良好。
  • 有什么理由不能与 scrapinghub 一起使用?我发现即使他们使用 v1.0

标签: mongodb scrapy scrapinghub


【解决方案1】:

Scrapy Cloud 将设置的任何给定值转换为字符串。在您的情况下,您使用的字典被解释为字符串"{'scrapy.contrib.feedexport.FeedExporter': None}"

问题是 Scrapy 中不支持为EXTENSIONS 设置字符串(事实上,大多数取字典值的设置都不支持,一般是因为它们可以接受其他值类型,所以要转换那些stringsdict 可能会导致意外)。

处理设置的 Scrapy 代码进行了一些更改,因此隐藏了实际问题,但应该就是这样。将您的设置仅放入您的项目设置文件settings.py 应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2016-03-08
    • 1970-01-01
    • 2014-03-19
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多