pytube下载YouTube视频报urllib.error.HTTPError 404如何解决
问题原因
这个404错误是YouTube调整了匿名请求的接口规则、pytube官方PyPI版本更新滞后,加上你传入的链接携带播放列表参数共同导致的。
修复步骤
- 第一步:精简视频链接,去掉多余的播放列表参数,仅保留视频ID对应的核心链接即可,修改后的链接为
https://www.youtube.com/watch?v=wZ6W3ryNVNE - 第二步:不要使用PyPI源安装的pytube版本,该版本更新滞后,大量适配YouTube新规则的补丁未正式发版,直接拉取官方主分支代码安装即可覆盖现有版本
- 第三步:初始化YouTube实例时开启OAuth验证,规避匿名请求被拦截的问题,首次运行时按照提示扫码登录YouTube账号即可,后续会自动缓存凭证无需重复登录
- 可选:增加流判空逻辑,避免对应分辨率不存在时触发空指针报错
修复后代码示例
# 注意替换为精简后的链接 yt = YouTube("https://www.youtube.com/watch?v=wZ6W3ryNVNE", use_oauth=True, allow_oauth_cache=True) stream = yt.streams.filter(res = "240p").first() if stream: stream.download() else: print("未找到对应分辨率的视频流")
内容的提问来源于stack exchange,提问作者farhan jatt
相关产品推荐
相关产品推荐

