使用you-get下载TikTok视频时报TypeError: NoneType无法解析为JSON
报错原因
该错误是当前安装的you-get版本内置的TikTok提取规则失效导致的:TikTok更新了网页端的返回数据结构,旧版you-get的tiktok.py提取器无法正常抓取到目标JSON数据,传入空值给json.loads方法就触发了该类型错误。
解决步骤
- 优先升级you-get到最新版本,运行命令:
pip install -U you-get
多数情况下官方已经同步更新了适配新TikTok规则的提取器,升级完成后即可正常下载。 - 若升级后仍报错,手动修改TikTok提取器规则:
找到报错提示的tiktok.py文件,路径为t:\intalledsofeware\py36\lib\site-packages\you_get\extractors\tiktok.py,打开文件修改原有提取逻辑:当前TikTok网页端数据存放在__UNIVERSAL_DATA_FOR_REHYDRATION__全局变量中,替换原有匹配规则,用正则提取该变量内的JSON内容再解析即可。 - 检查代理配置:你使用的
-x参数中PorxyPORT是占位符,需要替换为本地代理实际的端口号,同时确认代理节点可以正常访问TikTok网页,代理不通导致页面请求失败也会返回空值触发报错。 - 备选方案:可更换为yt-dlp这类站点适配更新更及时的下载工具,TikTok下载命令为:
yt-dlp https://www.tiktok.com/@mks.vision/video/7010448924213398789
内容的提问来源于stack exchange,提问作者A_Loser
相关产品推荐
相关产品推荐

