python Pytube错误:get_throttling_function_name:无法找到多个的匹配项

x33g5p2x  于 2023-06-28  发布在  Python
关注(0)|答案(1)|浏览(93)

我尝试从URL“www.example.com”下载YouTube播放列表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')  `

我使用的是最新版本的Pytube。

knpiaxh1

knpiaxh11#

因为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正式发布补丁之前,你必须使用这个解决方案。

相关问题