Python 3.x 使用urllib.request.urlopen获取JSON数据

Python 3.x 使用urllib.request.urlopen获取JSON数据,python-3.x,urllib,Python 3.x,Urllib,我正试图使用一个api在一个交换站点上获取加密货币价格的一些数据。在使用urllib.request.urlopen时,我不断地遇到错误 import urllib import urllib.parse import urllib.request import urllib.error import json def coin_price(coin): url = 'https://yobit.net/api/3/ticker/' pair = coin + '_btc'

我正试图使用一个api在一个交换站点上获取加密货币价格的一些数据。在使用urllib.request.urlopen时,我不断地遇到错误

import urllib
import urllib.parse
import urllib.request
import urllib.error
import json


def coin_price(coin):
    url = 'https://yobit.net/api/3/ticker/'
    pair = coin + '_btc'
    final_url = url + pair
    obj = urllib.request.urlopen(final_url)
    jsonobj = obj.read().decode('utf-8')
    data = json.loads(jsonobj)
    item = data['ticker']

    final = item['last']
    print(final)

coin_price("ltc")
这些都是我得到的错误

Traceback (most recent call last):
File "C:/Users/x/Downloads/PycharmProjects/test.py", line 20, in <module>
coin_price("ltc")

File "C:/Users/x/Downloads/PycharmProjects/test.py", line 12 incoin_price
obj = urllib.request.urlopen(final_url)

File "C:\Users\x\AppData\Local\Programs\Python\Python36  32\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)

File "C:\Users\x\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 532, in open
response = meth(req, response)

File "C:\Users\x\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)

File "C:\Users\x\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
回溯(最近一次呼叫最后一次):
文件“C:/Users/x/Downloads/PycharmProjects/test.py”,第20行,在
硬币价格(“ltc”)
文件“C:/Users/x/Downloads/PycharmProjects/test.py”,第12行incoin_price
obj=urllib.request.urlopen(最终url)
文件“C:\Users\x\AppData\Local\Programs\Python36 32\lib\urllib\request.py”,urlopen中的第223行
返回opener.open(url、数据、超时)
文件“C:\Users\x\AppData\Local\Programs\Python36-32\lib\urllib\request.py”,第532行,打开
响应=方法(请求,响应)
文件“C:\Users\x\AppData\Local\Programs\Python36-32\lib\urllib\request.py”,第642行,在http\U响应中
“http”、请求、响应、代码、消息、hdrs)
文件“C:\Users\x\AppData\Local\Programs\Python\Python36-32\lib\urllib\request.py”,第650行,默认为http\u error\u
raise HTTPError(请求完整的url、代码、消息、hdrs、fp)
urllib.error.HTTPError:HTTP错误403:禁止

我没有看到问题中提到的错误(至少没有错误输出)。也许你错过了什么。请阅读规则。这也是一个基本的任务,所以有很多例子。欢迎使用堆栈溢出!您可以先学习并创建一个示例。这使我们更容易帮助您。请给出引发的错误。我添加了错误。您是否检查您尝试访问的URL?以下是我从以下位置获得的结果:{“success”:0,“error”:“无效对名称:_btc”}您的URL格式错误,或者无法访问json数据。。