gpt4 book ai didi

Python 请求 - 从 response.text 中提取数据

转载 作者:太空狗 更新时间:2023-10-30 01:51:03 26 4
gpt4 key购买 nike

我已经四处寻找几天了,还是想不通。基本上我是将图像上传到服务器并获得一个 ID 作为返回,问题是我无法弄清楚如何提取此 ID 并将其更改为准备保存到数据库中的字符串。

程序代码

url = <Server address>
with open("image.jpg", "rb") as image_file:
files = {'file': image_file}
auth = ('<Key>', '<Pass>')
r = requests.post(url, files=files, auth=auth)

data = r.json()
uploaded = data.get('uploaded')
content_id = uploaded[0]


print r
print r.text
print '--------------'
print str(content_id)

这是我得到的输出

<Response [200]>
{
"status": "success",
"uploaded": [
{
"filename": "image.jpg",
"id": "6476edfa1d262ad81181d992da78149d"
}
]
}

--------------
{u'id': u'6476edfa1d262ad81181d992da78149d', u'filename': u'image.jpg'}

最佳答案

您正在接收 JSON;您已经使用 response.json() 方法将其解码为 Python 结构:

data = r.json()

您可以像对待任何其他 Python 列表一样对待 data['uploaded'];内容只是一个字典,所以另一个字典键来获取 id 值:

data['uploaded'][0]['id']

在此处将索引硬编码为 [0] 是安全的,因为您知道上传了多少张图片。

您可以使用异常处理来检测是否返回了任何意外的内容:

try:
image_id = data['uploaded'][0]['id']
except (IndexError, KeyError):
# key or index is missing, handle an unexpected response
log.error('Unexpected response after uploading image, got %r',
data)

或者你可以处理data['status'];这完全取决于您在此处使用的 API 的确切语义。

关于Python 请求 - 从 response.text 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28069753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com