使用请求在Python中获取特定的JSON API信息

时间:2017-09-03 14:13:09

标签: json python-3.x python-requests

我在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。对于可能是一个非常简单的解决方案,我们非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

你快到了!请求返回了一个dicts列表,因此您的data[0]['dictkey']格式是正确的。但是,请记住Python区分大小写。看起来你想要的关键是killID(低k),但你正在尝试KillID(上限K)。

尝试data[0][killID]