2015-10-02 22 views
1

我想在我的父級爬蟲類中設置以下內容,因爲這對每個孩子都應該是一樣的,我該怎麼做?如何在父類中基於cli kwargs覆蓋FEED_URI?

scrapy crawl spiderX -a full >> FEED_URI = /xx/spiderX_full 
scrapy crawl spiderX -a quick >> FEED_URI = /xx/spiderX_quick 

這是我到目前爲止有:

@classmethod 
def update_settings(cls, settings): 
    settings_dict = cls.custom_settings or {} 
    feed_uri = path.join(settings.get('FEED_DIR'), '%s' % cls.name) 
    settings_dict['FEED_URI'] = feed_uri 
    settings.setdict(settings_dict, priority='spider') 

我如何從這個函數訪問快速/全ARGS? 我試圖做這樣的:

def __new__(cls, full=False, quick=False, *a, **kw): 
    cls.full = full 
    cls.quick = quick 
    return super(MyCrawlSpider, cls).__new__(cls, *a, **kw) 

但顯然update_settings運行之前它

回答

1

嘗試使用-s說法。

scrapy crawl spiderX -s FEED_URI=s3://mybucket/path/to/export.csv