Добавить настройки в scrapinghub spider
Я пытаюсь включить mongodb в моем пауке на платформе scrapinghub. Для этого я должен включить расширение через настройку "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}
Беспокойство вызывает то, что обе настройки работают правильно в локальном скрейде.
1 ответ
Scrapy Cloud преобразует в строку любое заданное значение для настройки. В вашем случае используемый вами словарь интерпретируется как строка "{'scrapy.contrib.feedexport.FeedExporter': None}"
,
Проблема в том, что не поддерживается установка строки для EXTENSIONS
в Scrapy (на самом деле, большинство настроек, которые принимают значения словаря, не поддерживают его, как правило, потому что они могут принимать другие типы значений, поэтому приведение strings
в dict
может привести к чему-то непреднамеренному).
В коде Scrapy произошли некоторые изменения, связанные с настройками, поэтому фактическая проблема скрыта, но это так и должно быть. Помещение настроек только в файл настроек вашего проекта settings.py
должен исправить вашу проблему.