如何从Python请求的JSON API响应中提取daysAgo=0对应的value值?
提取API返回JSON中指定条件的值
你已经成功请求到poe.ninja的API并获取到包含历史价格的JSON数组,可通过以下代码提取其中daysAgo=0对应的value值:
import requests response = requests.get("https://poe.ninja/api/data/itemhistory?league=Sanctum&type=Essence&itemId=373") data_list = response.json() # 遍历列表找到目标值 target_value = None for item in data_list: if item["daysAgo"] == 0: target_value = item["value"] break print(target_value) # 输出:8.0
如果想更简洁,也可以用生成器表达式配合next()函数,找到第一个匹配元素后直接取值:
target_value = next(item["value"] for item in data_list if item["daysAgo"] == 0) print(target_value)
补充说明
- 第一个API返回状态码200表示请求成功,返回的JSON是由字典组成的列表,每个字典包含
count、value和daysAgo三个字段。 - 第二个API返回403是因为Path of Exile官方API需要额外验证(比如设置合法的
User-Agent请求头或使用官方API密钥),后续若需调用该API,需参考官方文档完成验证配置。
内容的提问来源于stack exchange,提问作者Alex Couple
相关产品推荐
相关产品推荐

