使用Scrapy处理嵌套数组

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

并且似乎像是 <\p>
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()
1个回答

9

在存储项目之前,您需要创建垃圾字典。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接