我正在尝试从url“YouTube https://www.youtube.com/watch?v=uyVYfSNb_Pc&list=PLBxwSeQlMDNiNt72UmSvKBLsxPgGY_Jy-"下载https://www.youtube.com/watch?v=uyVYfSNb_Pc&list=PLBxwSeQlMDNiNt72UmSvKBLsxPgGY_Jy-"播放列表,但是得到错误'get_throttling_function_name:无法找到多个匹配‘。
代码块是:
`
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') `
我使用的是最新版本的管道。
发布于 2022-04-16 02:34:08
因为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正式发布修补程序。
https://stackoverflow.com/questions/71883661
复制相似问题