【发布时间】:2016-01-01 17:10:56
【问题描述】:
现在我只是想通过 python 打印出 JSON。最终,我将使用来自请求的 JSON 的信息,但我只能将其转化为我可以使用的东西。
import urllib
import urllib.request
import dateutil
import json
API_KEY = open("/Users/Sean/Documents/Yer.txt", "r")
API_KEY = API_KEY.read()
url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUiufyZv8iRPTafTw0D4CvnQ&key='+API_KEY
response = urllib.request.urlopen(url)
videos = json.load(response)
print(videos)
这就是我开始的地方。我收到错误
JSON 对象必须是 str,而不是 'bytes'
在“videos = json.load(response)”行上。
四处搜索并最终尝试
videos = json.load(response.decode())
我得到这个错误
Traceback(最近一次调用最后一次): 文件“C:\Users\Sean\Documents\NeebsBot\NeebsBot\NeebsBot\NeebsBot.py”,第 13 行,在 视频 = json.load(response.decode()) AttributeError:“HTTPResponse”对象没有“解码”属性 按任意键继续 。 . .
再次搜索并尝试了这个。
response = urllib.request.urlopen(url)
content = response.read()
videos = json.loads(content.decode('utf8'))
print(videos)
当我运行时我得到了这个
'charmap' 编解码器无法对位置 1573 中的字符 '\xa9' 进行编码:字符映射到
我在网上找到的所有解决方案总是让我想起这些错误。
【问题讨论】:
-
显示内容的开头,但您也可以尝试使用
videos = json.loads(content.decode('latin1'))将其解码为 ISO-8859-1 或 Latin1
标签: python json youtube-data-api