使用youtube-dl下载视频遭遇HTTP Error 403: Forbidden错误求助
解决方案
优先切换到yt-dlp
youtube-dl目前维护停滞,已无法应对很多平台更新的反爬机制,yt-dlp作为其活跃分支,对这类403禁止访问、片段加载失败的问题支持更完善:
- 卸载现有youtube-dl:
pip uninstall -y youtube-dl
- 安装yt-dlp:
pip install yt-dlp
- 迁移原有配置,yt-dlp兼容绝大多数youtube-dl参数,原配置可直接复用,仅需替换调用类:
将代码里的youtube_dl.YoutubeDL替换为yt_dlp.YoutubeDL即可,配置代码无需修改:
ydl_opts = { 'verbose': False, 'ignoreerrors': True, 'cachedir': None, 'outtmpl': "%(title)s.%(ext)s", 'format': 'm4a/bestaudio/best', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec': 'm4a', }] }
补充调试手段(切换后仍有问题时尝试)
- 添加模拟浏览器的User-Agent,绕过简单的UA检测:
在ydl_opts中加入:
'user_agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
- 检查视频是否有地区限制,可配置代理:
在ydl_opts中加入:
'proxy': 'http://your-proxy-address:port'
- 启用verbose模式排查细节:
将verbose设为True,查看完整请求日志,定位具体阻塞环节。
内容的提问来源于stack exchange,提问作者Cauder
相关产品推荐
相关产品推荐

