Pytube Error: get_throttling_function_name: could not find match for multiple

Pytube Error: get_throttling_function_name: could not find match for multiple

我正在尝试从 url“https://www.youtube.com/watch?v=uyVYfSNb_Pc&list=PLBxwSeQlMDNiNt72UmSvKBLsxPgGY_Jy-”下载 YouTube 播放列表, 但出现错误 'get_throttling_function_name: could not find match for multiple'.

代码块是:

`

from pytube import Playlist

play_list = Playlist('https://www.youtube.com/watch?v=uyVYfSNb_Pc&list=PLBxwSeQlMDNiNt72UmSvKBLsxPgGY_Jy-')

print(f'Downloading: {play_list.title}')

for video in play_list.videos:
    print(video.title)
    st = video.streams.get_highest_resolution()
    st.download(r'path')  `

我正在使用最新版本的 pytube。

因为 youtube 在它的末端改变了一些东西,现在你必须将 pytube 的 ciper.py 的 function_patterns 更改为以下

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 正式发布修复程序之前,您必须使用此解决方法。