6

ドキュメンテーションやネット上のさまざまな議論からわかる限り、スクレイピー アイテムのフィールドにデフォルト値を追加する機能は削除されています。

これは機能しません

category = Field(default='null')

だから私の質問は: デフォルト値でフィールドを初期化する良い方法は何ですか?

ここで提案されているように、アイテムパイプラインとして実装しようとしましたが、成功しませんでした。 https://groups.google.com/forum/?fromgroups=#!topic/scrapy-users/-v1p5W41VDQ

4

2 に答える 2

4

問題が何であるかを理解しました。パイプラインは機能しています(コードは他の人の参照用に続きます)。私の問題は、フィールドに値を追加していることでした。そして、これらのリスト値の1つでデフォルトのメソッドが機能することを望みました...別の方法を選択すると、機能します。カスタムの setDefault プロセッサ メソッドを使用して実装しています。

class DefaultItemPipeline(object):

def process_item(self, item, spider):
    item.setdefault('amz_VendorsShippingDurationFrom', 'default')
    item.setdefault('amz_VendorsShippingDurationTo', 'default')
    # ...
    return item
于 2013-03-29T09:38:47.077 に答える