升级pytube与pip后仍无法下载YouTube音频,报HTTP Error 410
解决pytube下载YouTube音频时出现HTTP Error 410: Gone的问题
问题原因
HTTP Error 410: Gone表示请求的视频信息接口已被YouTube永久移除——YouTube会频繁调整视频数据的获取路径,官方pytube稳定版的适配速度往往跟不上。另外原代码里的.streams.first()方法已被弃用,且默认返回的不一定是音频流。
解决方案
1. 安装pytube的最新修复版本
官方稳定版适配滞后,直接从GitHub安装最新开发分支:
pip uninstall pytube -y pip install git+https://github.com/pytube/pytube.git@master
2. 使用正确的音频流获取代码
替换过时方法,明确筛选音频流:
from pytube import YouTube # 初始化YouTube对象 yt = YouTube('https://www.youtube.com/watch?v=HL9j8xuQ6Wc') # 获取仅音频的最优流(默认mp4格式) audio_stream = yt.streams.get_audio_only() # 下载到指定目录(省略output_path则默认下载到当前目录) audio_stream.download(output_path="./audio_files")
如果需要指定特定格式(比如webm),可以用筛选器:
# 筛选仅音频、webm格式的流 audio_stream = yt.streams.filter(only_audio=True, file_extension='webm').first() audio_stream.download()
额外说明
- 若仍有网络错误,检查是否需要配置代理访问YouTube
- 下载后的音频文件可通过ffmpeg转换为mp3等格式(按需操作)
内容的提问来源于stack exchange,提问作者Arun Kumar
相关产品推荐
相关产品推荐

