我不能用python从JSON获取数据

2024-04-29 16:53:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎无法从一个使用JSON的网站API中获得上一次记录的价格。我试着找出错误,但我觉得没问题。代码是用python编写的 这是我必须获得的Url:https://api.independentreserve.com/Public/GetMarketSummary?primaryCurrencyCode=xbt&secondaryCurrencyCode=aud

Python 3.7版

import requests


URL = "https://api.independentreserve.com/Public/GetMarketSummary?"

CurrencyCode = "xbt"
SecondaryCode = "aud"
PARAMS = {'primaryCurrencyCode': CurrencyCode, '&secondaryCurrencyCode': SecondaryCode}
r = requests.get(url=URL, params=PARAMS)

data = r.json()


lastprice = data['LastPrice']


print("Last Price:%s" % lastprice)

Tags: httpscomapiurlparamspublicrequestsaud
3条回答

这是固定密码

import requests


URL = "https://api.independentreserve.com/Public/GetMarketSummary?"

CurrencyCode = "xbt"
SecondaryCode = "aud"
PARAMS = {'primaryCurrencyCode': CurrencyCode, 'SecondaryCurrencyCode': SecondaryCode}
r = requests.get(url=URL, params=PARAMS)

data = r.json()


lastprice = data['LastPrice']


print("Last Price:%s" % lastprice)

问题出在PARAMS词典中。您需要将"&secondaryCurrencyCode"更改为"SecondaryCurrencyCode"

如果您打印了datadict,您将看到:

{'Message': 'Secondary Currency Code is required'}

API要求的是secondaryCurrencyCode,而不是&secondaryCurrencyCode

您不需要&;使用参数时签名

"&secondaryCurrencyCode"中删除&将解决此问题

固定代码如下:

import requests

URL = "https://api.independentreserve.com/Public/GetMarketSummary?"

CurrencyCode = "xbt"
SecondaryCode = "aud"
PARAMS = {'primaryCurrencyCode': CurrencyCode, 'secondaryCurrencyCode': SecondaryCode}
r = requests.get(url=URL, params=PARAMS)

data = r.json()


lastprice = data['LastPrice']

print("Last Price:%s" % lastprice)

相关问题 更多 >