2014-10-22 107 views
0

我是Scrapy的新學習者並遇到問題。在抓取網站時我收到了幾個json響應(我已經完成了這部分)。我想填充他們的項目,然後輸出到一個json文件。但輸出文件不是我所期望的。在Scrapy中如何分離輸出json文件中的項目

項類看起來是這樣的:

class USLPlayer(scrapy.Item): 
    ln = scrapy.Field() 
    fn = scrapy.Field() ...  

原始JSON文件結構如下:

{"players":{"4752569":{"ln":"Musa","fn":"Yahaya", .... ,"apprvd":"59750"}, "4801435":{"ln":"Ackley","fn":"Brian", ... ,"apprvd":"59750"}, ...}}  

預期的結果,我希望是這個樣子的:

{"item" :{"ln":"Musa","fn":"Yahaya", .... ,"apprvd":"59750"}},{"item": {"ln":"Ackley","fn":"Brian", ... ,"apprvd":"59750"}, ...  

基本上我希望每個項目都應該分開列表。

約填充項目的代碼是:

players = json.loads(plain_text) 
    for id, player in players["players"].items(): 
     for key, value in player.items(): 
       item = USLPlayer() item[key] = value 
        yield item  

有什麼辦法,我希望我能輸出中JSON文件。非常感謝你的回答。

回答

0

您是否試過JSON lines feed exporter

它會將您的項目輸出爲每行一個JSON對象。然後,從文件中讀取玩家列表就像在每行上使用json.loads一樣簡單。

相關問題