2013-03-19 189 views
5

我是scrapy的新手,想了解如何刮对象以输出为嵌套JSON。现在,我产生JSON看起来像Scrapy与嵌套数组

[ 
{'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' 

这是否意味着我需要更改我的0不知怎的,?目前我有:

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

回答

7

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

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

Ughhhhhhhhhhh,很明显。谢谢! – Mittenchops 2013-03-19 18:48:15