2016-05-27 6 views
0

В моем settings.py у меня есть:Установки ITEM_PIPELINE не может быть отменена из терминала

ITEM_PIPELINES = { 
    'turing.pipelines.InitFieldsNotInitializedPipeline': 299, 
    'turing.pipelines.SetNoneIfFieldEmptyPipeline': 300, 
    'turing.pipelines.CheckCategoryPipeline': 301, 
    'turing.pipelines.CheckContactPipeline': 302, 
} 

И он прекрасно работает. Но когда-нибудь я хочу запустить паука без ЛЮБОГО конвейеров. Когда я бегу

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s ITEM_PIPELINES=[] example_spider 

Я получаю эту ошибку:

return d.iteritems(**kw) 
exceptions.AttributeError: 'str' object has no attribute 'iteritems' 

Как я могу запустить паук без трубопроводов?

До сих пор я пытался:

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s ITEM_PIPELINES=[] example_spider 

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s ITEM_PIPELINES={} example_spider 

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s "ITEM_PIPELINES=[]" example_spider 

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s "ITEM_PIPELINES={}" example_spider 

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s ITEM_PIPELINES=['turing.pipelines.InitFieldsNotInitializedPipeline': 299,] example_spider 

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s ITEM_PIPELINES={'turing.pipelines.InitFieldsNotInitializedPipeline': 299,} example_spider 

Других комбинации Посмотрите в документации http://doc.scrapy.org/en/latest/topics/settings.html

Надеется, что вы можете помочь мне. Благодарю.

+0

Я не думаю, что есть способ в настоящее время это делается, так как каждый аргумент анализируется как строка в scrapy, в любом случае стоит попросить его как функцию [здесь] (https://github.com/scrapy/scrapy/issues) – eLRuLL

+0

Нет. Я публикую эту проблему в github scrapy. https://github.com/scrapy/scrapy/issues/2018#issuecomment-222182862 –

ответ

1

Я ответил на GitHub, но я помещаю его здесь, а также:

Вам нужно бежать {} так: \{\}

scrapy crawl -s FEED_URI=stdout: -s FEED_FORMAT=json -s ITEM_PIPELINES=\{\} -a test_extract_url=http://example.com/ -L ERROR c_example