2017-09-03 98 views
-1

我在Pyhton 3.6.2中使用請求從URL中獲取Json數據,但是我無法爲我的生活找出如何拉出特定的數據點。這是我嘗試過的很多嘗試之一。我不是專業的蟒蛇,我正在學習。使用請求獲取Python中的特定JSON API信息

這是api網址https://zkillboard.com/api/losses/corporation/98459043/limit/1/,它顯示了遊戲中的最新損失。該API的文檔can be found here。具體來說,我試圖拉KillID信息,這可能會有所不同,這取決於損失。

"killID": 64401412, 

我的代碼:

import requests 
import json 
url = requests.get('https://zkillboard.com/api/json/corporation/98459043/losses/limit/1/') 
data = json.loads(url.text) 

print (data) 

返回[{ 'killID':64401412, 'solarSystemID':30045352,[..]

print (data[0]) 

返回{ 'killID':64401412 ,'solarSystemID':30045352,[..]

print (data[0]['KillID']) 

return 「KeyError異常:‘KillID’」

print (data['KillID']) 

返回「類型錯誤:列表索引必須是整數或片,而不是STR」

從我設法從其他國家人民的問題找出來,請求將返回作爲列表的JSON數據不是字典。任何幫助將非常讚賞可能是一個非常簡單的解決方案。

+0

這是一個小寫'k',而不是'K'。使用'data [0] ['killID']'。 –

回答

-1

你快到了!請求正在返回一個字典列表,因此您的data[0]['dictkey']格式是正確的。但是,請記住Python是區分大小寫的。它看起來像你想要的密鑰是killID(低k),但你想KillID(高k)。

嘗試data[0][killID]

+1

哈哈哇謝謝你!我知道這會是一件愚蠢的事情。 – andrewt1989