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

PyTube请求返回410 HTTP响应,无法下载YouTube视频求助

解决PyTube抛出HTTP Error 410: Gone的问题

问题复现

使用以下PyTube代码下载YouTube视频:

from pytube import YouTube

# Define the YouTube video URL
url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# Create a YouTube object and get the video streams
yt = YouTube(url)
mp4files = yt.streams

近期运行时出现错误:

raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 410: Gone

此前代码可正常运行,需修复该问题。

解决方案

以下是几个有效的修复步骤,按优先级尝试:

  • 更新PyTube到最新版本
    YouTube会频繁调整反爬机制,PyTube官方通常会跟进修复。执行升级命令:

    pip install --upgrade pytube
    
  • 替换为社区维护的PyTube分支(pytubefix)
    如果官方版本未及时修复,可使用社区维护的pytubefix:

    1. 卸载原PyTube:
      pip uninstall pytube -y
      
    2. 安装pytubefix:
      pip install pytubefix
      
    3. 修改代码导入语句:
      from pytubefix import YouTube
      
      url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
      yt = YouTube(url)
      mp4files = yt.streams
      
  • 添加自定义请求头或启用OAuth认证
    部分情况下,YouTube会拦截无合法请求头的请求,可尝试设置User-Agent或启用OAuth:

    from pytube import YouTube
    
    url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    # 设置User-Agent
    yt = YouTube(url, headers={
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    })
    # 或启用OAuth认证(首次运行需登录,后续缓存凭证)
    # yt = YouTube(url, use_oauth=True, allow_oauth_cache=True)
    mp4files = yt.streams
    

内容的提问来源于stack exchange,提问作者Luthando Nxumalo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:35:03