解决YouTube API响应转Python字典的TypeError问题及修改视频标题
解决YouTube API响应解析的TypeError问题
你遇到的报错是因为json.loads()要求传入JSON格式的字符串、字节或字节数组,但你直接传了requests返回的Response对象,类型不匹配导致报错。
解决方法很简单,两种方式任选其一即可:
方式一:用requests内置的.json()方法(推荐)
requests已经封装了JSON响应解析功能,调用.json()会直接把响应内容转换成Python字典,不需要额外使用json.loads():
import requests # 发起API请求 response = requests.get("你的YouTube API请求地址") # 直接解析为字典 video_data = response.json() # 修改视频标题示例(需根据实际API返回结构调整路径) video_data['items'][0]['snippet']['title'] = "你的新标题"
方式二:手动获取响应内容再用json.loads()
如果一定要用json.loads(),需要先从Response对象里取出文本或字节格式的响应内容:
import requests import json response = requests.get("你的YouTube API请求地址") # 方式1:获取文本字符串 json_content = response.text video_data = json.loads(json_content) # 方式2:获取字节内容(适合非UTF-8编码的场景) video_data = json.loads(response.content)
额外提醒:解析前最好先检查请求是否成功,比如判断response.status_code == 200,避免请求失败(如404、403)时解析无效内容报错。
内容的提问来源于stack exchange,提问作者Jinan Moussawy
相关产品推荐
相关产品推荐

