我在Pyhton 3.6.2中使用Requests从URL中提取Json数据,但是我不能在生命中找出如何提取特定数据点。这是我尝试过的许多尝试之一。我不是蟒蛇专业人员,我正在学习。
这是显示游戏最新损失的api url 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'])
返回" KeyError:' KillID'"
print (data['KillID'])
返回" TypeError:列表索引必须是整数或切片,而不是str"
从我设法从其他人的问题中找到的,请求将json数据作为列表返回而不是dict。对于可能是一个非常简单的解决方案,我们非常感谢任何帮助。
答案 0 :(得分:-1)
你快到了!请求返回了一个dicts列表,因此您的data[0]['dictkey']
格式是正确的。但是,请记住Python区分大小写。看起来你想要的关键是killID
(低k),但你正在尝试KillID
(上限K)。
尝试data[0][killID]