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

pytube库突发RegexMatchError报错,多次重装仍无法解决

解决pytube的RegexMatchError问题

问题原因

这个错误是由于YouTube更新了加密签名的JS代码结构,导致pytube稳定版中的正则表达式^\w+\W无法匹配到目标内容,进而引发签名解密失败。

解决方案

1. 安装pytube开发版

开发版会优先修复这类适配问题,执行以下命令安装:

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

2. 手动修改正则表达式(临时应急方案)

找到本地pytube库的cipher.py文件(路径:C:\Users\olimpa\AppData\Local\Programs\Python\Python311\Lib\site-packages\pytube\cipher.py),修改类初始化方法中的正则:

  • 找到抛出RegexMatchError的代码块,将原正则r"^\w+\W"替换为r"^\$*\w+\W"
  • 保存文件后重新运行代码

3. 修正代码中的弃用方法

原代码中的.all()方法已被弃用,建议替换为.get_all()或.first():

link = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
yt = YouTube(link)
# 方式1:获取所有音频流
audio_streams = yt.streams.filter(only_audio=True).get_all()
audio_streams[0].download(output_path='temp', filename='audio.mp3')

# 方式2:直接获取第一个音频流(更简洁)
yt.streams.filter(only_audio=True).first().download(output_path='temp', filename='audio.mp3')

内容的提问来源于stack exchange,提问作者Olimpiia_ ART

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:33:13