You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Steam API出现KeyError,无法获取字典键值求助

解决Python调用Steam API获取gameextrainfo失败的问题

核心问题:数据层级定位错误

你直接用profile['gameextrainfo']失败的根源是没正确遍历Steam API返回的嵌套数据结构。从给出的返回示例来看,数据层级是:
顶级字典 → response → players(数组类型) → 单个玩家对象(包含gameextrainfo的字典)

分步解决思路

  1. 确保响应正确解析为字典
    用requests请求时,必须把响应内容解析为JSON字典,不能直接操作原始响应文本:
import requests

api_url = "你的Steam API请求地址"
resp = requests.get(api_url)
# 解析为可操作的字典
data = resp.json()
  1. 按层级正确提取数据
    先定位到players数组,再取第一个元素(API返回的是玩家列表,哪怕只有一个玩家),最后提取目标字段:
# 安全获取players列表,避免键不存在时报错
players_list = data.get("response", {}).get("players", [])
# 先检查列表非空,防止索引错误
if players_list:
    target_profile = players_list[0]
    # 用get()方法提取字段,避免键不存在时抛出KeyError
    game_info = target_profile.get("gameextrainfo")
    print(game_info)  # 输出:Counter-Strike: Global Offensive
else:
    print("未获取到玩家数据")
  1. 额外排查点
  • 验证API权限:确认你的Steam API Key有访问用户公开资料的权限,且目标用户的communityvisibilitystate为3(公开状态),否则部分字段会被隐藏
  • 核对字段名:确保拼写完全一致(不要误写为game_extrainfo这类变体)
  • 打印完整结构:如果仍有问题,打印完整解析后的字典,确认实际返回的字段与预期一致:
    import json
    print(json.dumps(data, indent=2, ensure_ascii=False))
    

内容的提问来源于stack exchange,提问作者Ghost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 20:45:23