You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python的pytube库下载YouTube视频时遭遇HTTP Error 410: Gone错误

解决pytube下载YouTube视频时的HTTP Error 410: Gone问题

HTTP 410错误本质是YouTube的资源获取接口发生了变更,旧版本的pytube库无法适配新规则,导致请求被服务器直接拒绝。下面是具体的修复方案:

1. 更新pytube到最新版本

pytube团队会持续跟进YouTube的接口变化,更新到最新版是最直接的解决办法:

pip install --upgrade pytube

如果官方稳定版仍有问题,可尝试安装GitHub上的开发分支(修复更及时):

pip install git+https://github.com/pytube/pytube.git

2. 调整代码,指定明确的下载流

原代码直接调用streams.download()可能会选中无法正常获取的流,改成指定具体流类型更稳妥:

from pytube import YouTube

url = input("Enter the url : ")
yt = YouTube(url)
# 选择最高分辨率的音视频合并流
stream = yt.streams.get_highest_resolution()
# 也可指定格式,比如仅下载MP4格式的合并流
# stream = yt.streams.filter(progressive=True, file_extension='mp4').get_highest_resolution()
stream.download()
print("下载完成")

3. 处理受限视频(区域/年龄限制)

如果视频存在区域锁、年龄限制,pytube无法直接获取资源也会触发类似错误,此时可添加浏览器的Cookie模拟登录状态:

from pytube import YouTube

url = input("Enter the url : ")
# 从浏览器开发者工具中复制你的YouTube Cookie字段(如YSC、LOGIN_INFO)
yt = YouTube(url, cookies={"YSC": "你的YSC值", "LOGIN_INFO": "你的LOGIN_INFO值"})
stream = yt.streams.get_highest_resolution()
stream.download()

额外提示

  • 若需代理访问YouTube,需给pytube配置代理:
from pytube import YouTube

yt = YouTube(url, proxies={"http": "http://你的代理地址:端口", "https": "http://你的代理地址:端口"})
  • 部分视频因版权限制无法下载,此类情况即使修复410错误也无法获取资源。

内容的提问来源于stack exchange,提问作者Desire Techno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 22:05:07