6

我是scrapy的新手,想了解如何抓取对象以输出到嵌套的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 回答