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

如何对HTTP GET请求返回数据筛选,提取所需数值?

提取values中的数字方法

这事儿很简单,咱们一步步来处理:

首先你不需要直接打印r.text,requests库已经帮我们做好了JSON解析的快捷方法——用r.json()就能直接把响应转换成Python字典,这样就能通过键值对轻松定位到你需要的数据。

核心代码实现

import requests

# 替换成你的实际参数
URL = "你的目标请求地址"
PARAMS = {"参数名": "参数值"}
AUTH = ("用户名", "密码")  # 对应你的认证方式

# 发起请求
r = requests.get(url=URL, params=PARAMS, auth=AUTH)
# 将JSON响应转为Python字典
response_data = r.json()

# 逐层定位到values数组
values_list = response_data["data"]["result"][0]["values"]

# 提取每个子数组的第二个元素(即目标数字),转成整数类型
target_numbers = [int(item[1]) for item in values_list]

# 输出结果
print(target_numbers)

代码细节解释

  • r.json():自动解析JSON格式的响应文本为Python字典,比手动调用json.loads(r.text)更简洁。
  • response_data["data"]["result"][0]["values"]:因为返回的result是一个数组,且当前只有一个元素,所以用[0]取第一个元素,再获取它的values属性。
  • 列表推导式[int(item[1]) for item in values_list]:遍历values里的每一组数据,取第二个元素(下标为1)并转为整数;如果你的数字是小数,把int换成float即可。

扩展:处理多个result元素的情况

如果后续返回的result数组里可能有多个对象,可以用循环批量提取所有目标数字:

all_target_numbers = []
for result_item in response_data["data"]["result"]:
    values = result_item["values"]
    numbers = [int(item[1]) for item in values]
    all_target_numbers.extend(numbers)

print(all_target_numbers)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:06:31