Python 捕获json响应

Python 捕获json响应,python,json,python-3.x,Python,Json,Python 3.x,我正在尝试为数据聚合项目检索json格式的exchange定价信息。一个api给我带来了问题 在我的浏览器中调用url正好显示了我需要的内容,但我的调用会引发错误。 我想知道我是否正在处理一个错误的响应,不理解一些编码/解码问题,或者我只是没有看到一些明显的东西 我已经尝试了尽可能多的不同的解决方案,在48小时内谷歌似乎明显没有工作。我将在下面举几个例子。 基本上,我只需要通过直接调用url来获取我看到的响应 import requests import json r = requests.

我正在尝试为数据聚合项目检索json格式的exchange定价信息。一个api给我带来了问题

在我的浏览器中调用url正好显示了我需要的内容,但我的调用会引发错误。 我想知道我是否正在处理一个错误的响应,不理解一些编码/解码问题,或者我只是没有看到一些明显的东西

我已经尝试了尽可能多的不同的解决方案,在48小时内谷歌似乎明显没有工作。我将在下面举几个例子。 基本上,我只需要通过直接调用url来获取我看到的响应

import requests
import json


r = requests.get('https://www.nlexch.com/api/v2/tickers/ltcbtc.json')
print(r)
<Response [200]>
在发布这篇文章之前,我仔细研究了一下,看看是否有类似的问题得到了解决。事实上,我发现了几种似乎应该开箱即用的方法。我试过的东西都没有得到我需要的简单结果


谢谢您的时间。

您会发现,如果您在示例中打印(r.text),您将获得谷歌搜索页面。目标似乎正在寻找有效的用户代理。当我插入代理时,它似乎起作用。请注意,文本是有效的json,现在我可以提取json响应

import requests
import json


if __name__ == '__main__':
    url = 'https://www.nlexch.com/api/v2/tickers/ltcbtc.json'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
    r = requests.get(url, headers=headers)
    print(r.text)
    j = r.json()
    print(j['ticker'])

我只是想确保您在收到错误的同一个请求中获得http 200。所以先做get,然后打印(response),再打印(response.json)。我刚才检查了一下,api似乎返回了格式错误的json。我得到了200,但也得到了解码错误。您可能需要在请求头中发送一些东西来获取json。我认为您的请求-响应只是html.BTW-欢迎使用堆栈溢出。对于你的第一个问题,这做得很好-很好。是的,这绝对解决了我的问题。非常感谢。我快疯了。
{"at":1567086780,"ticker":{"buy":"0.005","sell":"0.02","low":"0.00685","high":"0.00685","last":"0.00685","vol":"15.80093851"}}
import requests
import json


if __name__ == '__main__':
    url = 'https://www.nlexch.com/api/v2/tickers/ltcbtc.json'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
    r = requests.get(url, headers=headers)
    print(r.text)
    j = r.json()
    print(j['ticker'])