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

使用pytube筛选YouTube视频格式时出现pytube.exceptions.RegexMatchError错误

问题修复方案

错误原因

该pytube.exceptions.RegexMatchError是YouTube更新了网页端播放器的JS代码逻辑,pytube内置的用于匹配节流函数名的正则表达式未适配新的JS结构,导致匹配失败,和你编写的业务代码逻辑无关。

修复步骤

  • 首先找到报错提示里的pytube依赖文件:/home/jay/PycharmProjects/videoinfo/venv/lib/python3.7/site-packages/pytube/cipher.py,用编辑器打开该文件
  • 定位到get_throttling_function_name函数,找到函数内定义正则匹配规则的列表,将原有列表替换为如下内容:
function_patterns = [
    r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&.*?\|\|\s*([a-z]+)',
    r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])?\([a-z]\)',
]
  • 保存修改后的文件,重新运行代码即可解决报错

额外代码优化提示

你现有代码中link.streams.filter(progressive="True")的参数值存在语法问题,progressive参数接收布尔值而非字符串,建议修改为link.streams.filter(progressive=True),避免后续筛选视频流时出现不符合预期的结果。

内容的提问来源于stack exchange,提问作者jay Chovatiya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:48:03