pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple in pytube version 12.0.0

pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple in pytube version 12.0.0

我正在尝试使用 pytube,但每次 运行 代码都会出现此 RegexError。我正在使用最新的 pytube 版本 12.0.0。有人有解决办法吗?

这是因为 YouTube 的更新。尝试将 pytube 的“cipher.py”文件,function_patterns(应该在第 264 行左右)更改为:

r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&\s*'
r'\([a-z]\s*=\s*([a-zA-Z0-9$]{2,3})(\[\d+\])?\([a-z]\)'

并将第 288 行更改为:

nfunc=re.escape(function_match.group(1))),

我相信 pytube 也会很快发布官方修复程序。