使用最新版pytube(v15.0.0)持续触发HTTP Error 400问题求助
问题分析与解决方案
这是pytube官方版本未及时适配YouTube最新反爬策略导致的已知临时问题,你的代码逻辑没有错误。YouTube经常调整页面结构和请求验证规则,而pytube官方维护进度跟不上,导致默认请求被判定为非法,返回400错误。
解决办法
1. 切换到维护活跃的第三方分支(推荐)
官方pytube更新滞后,可使用社区维护的pytubefix分支,它专门修复这类兼容性问题:
- 安装命令:
pip install pytubefix --upgrade
- 修改代码中的导入语句:
# 替换原来的 from pytube import YouTube from pytubefix import YouTube
其余代码保持不变,运行后即可正常获取视频标题。
2. 手动修改pytube的请求头(临时方案)
如果坚持使用官方pytube,可通过修改默认请求头绕过拦截:
- 找到pytube安装目录下的
request.py文件(可通过pip show pytube查看安装路径); - 找到
DEFAULT_HEADERS字典,将User-Agent的值替换为现代浏览器的标识,例如:
DEFAULT_HEADERS = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36", "Accept-Language": "en-US,en;q=0.9", }
- 保存文件后重新运行脚本即可。
内容的提问来源于stack exchange,提问作者Rohit Hake
相关产品推荐
相关产品推荐

