我试图从我正在制作的网页刮板中提取一个名为“balanceStr”的值,但我运气不太好
到目前为止,我得到的是:
import requests
import json
url = "https://www.hpbscan.org/HpbScan/addrs/getAddressDetailInfo"
headers = {'Content-Type': 'application/json;charset=utf-8'}
body = '["0x7EC332476fCA4Bcd20176eE06F16960b5D49333e"]'
data = requests.post(url, data=body, headers=headers)
json_data = (json.loads(data.text))
#print(json_data)
print(json_data['balanceStr'])
如果我只是打印(json\u data),这就是输出,但我只是想在一个变量中获取balanceStr(36885.403…)的值,以便像打印(currentbalance)一样使用它
[
"000000",
"\u6210\u529f",
{
"addrs": {
"accountType": null,
"address": "0x7ec332476fca4bcd20176ee06f16960b5d49333e",
"assetRankingOrder": "150",
"balance": 36885403823844342504238,
"balanceStr": "36885.40382384",
"createTimestamp": 1569209857000,
"fromCount": 22,
"lastestBlock": 3951440,
"map": {},
"number": 229,
"percentRate": "0.0369%",
"startBlock": 51601,
"toCount": 15
},
"hpbInstantPrice": {
"changePercent": "-6.65%",
"cnyPrice": "1.9890",
"id": 1,
"map": {},
"updateTime": 1569210840000,
"usdPrice": "0.2791"
},
"nonce": 22
}
]
当我打印(json_data['balanceStr'])时,我得到的错误是:
print(json_data['addrs'])
TypeError: list indices must be integers or slices, not str
任何帮助都将不胜感激
json_data
包含对象列表。你可以用读取第三个对象,它似乎就是您试图访问的对象
那么
去读取你想要的最终值
正如错误消息所说,
json_data
是一个列表。您想要的项目位于json_data[2]
。但是您需要的特定部分balanceStr
位于名为addrs
的元素中。把这些放在一起,你会得到:看起来json的最低级别是一个列表,这意味着要获取“balanceStr”所需的dict对象。在本例中,它的json\u数据[2]['addrs'][“balanceStr”]
相关问题 更多 >
编程相关推荐