6

私はscrapyを初めて使用し、ネストされたJSONに出力するためにオブジェクトをスクレイプする方法を理解したいと思います。今、私は次のようなJSONを作成しています

[
{'a' : 1, 
'b' : '2',
'c' : 3},
]

そして、私はそれをもっとこのようにしたいと思います:

[
{ 'a' : '1',
'_junk' : [
     'b' : 2,
     'c' : 3]},
]

_junk---後で後処理するためにサブフィールドにいくつかのものを入れました。

私のパーサー定義ファイルの下にある現在のコードscrapername.pyは...

item['a'] = x
item['b'] = y
item['c'] = z

そしてそれは

item['a'] = x
item['_junk']['b'] = y
item['_junk']['c'] = z

_junk---修正される可能性がありますが、キーに関するエラーが発生します。

  File "/usr/local/lib/python2.7/dist-packages/scrapy/item.py", line 49, in __getitem__
    return self._values[key]
exceptions.KeyError: '_junk'

items.pyこれは、どうにかして変更する必要があるという意味ですか?現在私は持っています:

class Website(Item):
    a = Field()
    _junk = Field()
    b = Field()
    c = Field()
4

1 に答える 1

9

アイテムを保存する前に、ジャンク辞書を作成する必要があります。

item['a'] = x
item['_junk'] = {}
item['_junk']['b'] = y
item['_junk']['c'] = z
于 2013-03-19T18:38:04.740 に答える