使用JSON和请求模块从API获取数据

时间:2018-06-23 01:23:13

标签: json

嗨,我正在尝试使用json&请求模块使用python获取附件图像中的数据。

如果我使用以下链接,则代码有效:

https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=BTC,USD,EUR

但是,当我使用所需的路径作为附件中的图像时,出现以下错误:

raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: Expecting value

有人知道出什么问题了吗?代码如下:

import json import requests

url = "https://dpssdata.coherent.com/rest.aspx?products&version=2&breaks=1.json" r = requests.get(url)

json_data = r.json()

enter image description here

1 个答案:

答案 0 :(得分:0)

您似乎已被重定向到登录名。

r = requests.get(url, allow_redirects=False)
>>> r
<Response [302]>
>>> r.text
'<html><head><title>Object moved</title></head><body>\r\n<h2>Object moved to <a href="https://sts.coherent.com/adfs/ls/?wa=wsignin1.0&amp;wtrealm=https%3a%2f%2fdpssdata.coherent.com%2f&amp;wctx=rm%3d0%26id%3dpassive%26ru%3d%252frest.aspx%253fproducts%2526version%253d2%2526breaks%253d1.json&amp;wct=2018-06-23T05%3a43%3a37Z">here</a>.</h2>\r\n</body></html>\r\n'

大概您已登录浏览器。因此,您需要安全地存储登录令牌,并在auth标头中使用它。该网站似乎也支持X.509证书,这可能是自动访问的一种方式。