Python 3.x 使用urllib.request.urlopen获取JSON数据
我正试图使用一个api在一个交换站点上获取加密货币价格的一些数据。在使用urllib.request.urlopen时,我不断地遇到错误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'
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数据。。