如何不使用python-steam-api通过Steam API获取游戏名称、描述与价格?
不用python-steam-api获取Steam游戏信息的解决方案
你可以直接调用Steam商店的公开API端点来获取游戏名称、描述和价格,无需依赖第三方封装库。以下是具体实现方法:
核心思路
Steam商店提供了appdetails API接口,用于获取应用(游戏)的详细信息,你可以通过该接口直接请求目标游戏的对应字段,无需使用python-steam-api封装。
代码实现
from decouple import config import requests # 从环境变量读取Steam API密钥 STEAM_API_KEY = config("STEAM_API_KEY") # 目标游戏的AppID(示例为GTA5) TARGET_APP_ID = 271590 # 发送请求,指定只获取需要的字段以减少数据量 response = requests.get( url="https://store.steampowered.com/api/appdetails", params={ "appids": TARGET_APP_ID, "key": STEAM_API_KEY, "filters": "name,description,price_overview" } ) if response.status_code == 200: result = response.json() app_data = result[str(TARGET_APP_ID)] if app_data["success"]: game_info = app_data["data"] # 提取所需信息 game_name = game_info["name"] game_desc = game_info["description"] # 处理价格:免费游戏无price_overview字段 game_price = game_info["price_overview"]["final_formatted"] if "price_overview" in game_info else "免费" print(f"游戏名称:{game_name}") print(f"游戏描述:{game_desc}") print(f"价格:{game_price}") else: print("无法获取该游戏信息,请检查AppID是否正确") else: print(f"请求失败,状态码:{response.status_code}")
关键说明
- 该API接口属于Steam官方服务,无需额外申请权限,使用你的Steam API密钥即可访问
- 通过
filters参数指定需要的字段(name、description、price_overview),可以避免返回大量无关数据,提升请求效率 - 部分免费游戏没有
price_overview字段,需要做判空处理 - 若不需要价格信息,甚至可以省略
key参数,部分基础信息是公开可访问的
内容的提问来源于stack exchange,提问作者MichaelPetrov
相关产品推荐
相关产品推荐

