2013-03-19 110 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