使用requests获取Fortnite API中lifeTimeStats的击杀数
解决Fortnite API提取击杀数的问题
嘿,我懂你的麻烦!你现在拿到的是API返回的原始文本,肯定没法直接揪出击杀数。问题出在r.text上——它只会给你一串JSON格式的字符串,我们得把它转换成Python能直接操作的字典结构才行。
来看看调整后的代码,我给你一步步理清楚:
import requests headers = {'TRN-Api-Key': '52f2fbde-018d-47b5-9c7d-99990c0d3507'} url = 'https://api.fortnitetracker.com/v1/profile/pc/loopisjones' try: # 发送请求并把响应转为Python字典 r = requests.get(url, headers=headers) r.raise_for_status() # 请求失败时直接抛出异常 profile_data = r.json() # 提取lifeTimeStats统计列表 lifetime_stats = profile_data.get('lifeTimeStats', []) # 遍历列表找到击杀数 for stat in lifetime_stats: if stat.get('key') == 'Kills': kills = stat.get('value') print(f"总击杀数: {kills}") break else: print("没找到击杀数相关数据") except requests.exceptions.RequestException as e: print(f"请求出错啦: {e}")
关键改动说明:
- 改用
r.json()替代r.text:自动把API返回的JSON字符串解析成Python字典,这样就能通过键名直接调取数据了。 - 用
get()方法访问键:就算API返回里某个键不存在,也只会返回默认值(比如空列表),不会直接崩溃,代码更稳。 - 遍历
lifeTimeStats数组:这个数组里存着所有 lifetime 统计项,我们找到key为Kills的那一项,就能拿到对应的击杀数值了。
这样你就能精准获取击杀数,不用再对着一大串原始输出头疼啦!
内容的提问来源于stack exchange,提问作者Lucas Johnson
相关产品推荐
相关产品推荐

