Pytube仅定期工作(KeyError:“资产”)
尝试运行我的小型测试脚本时,十分之五的Pytube会向我发送此错误。
这是脚本:
import pytube
import urllib.request
from pytube import YouTube
yt = YouTube('https://www.youtube.com/watch?v=3NCyD3XoJgM')
print('Youtube video title is: ' + yt.title + '! Downloading now!')
这是我得到的:
Traceback (most recent call last):
File "youtube.py", line 6, in <module>
yt = YouTube('https://www.youtube.com/watch?v=3NCyD3XoJgM')
File "C:\Users\test\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\pytube\__main__.py", line 91, in __init__
self.prefetch()
File "C:\Users\test\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\pytube\__main__.py", line 183, in prefetch
self.js_url = extract.js_url(self.watch_html)
File "C:\Users\test\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\pytube\extract.py", line 143, in js_url
base_js = get_ytplayer_config(html)["assets"]["js"]
KeyError: 'assets'
我很困扰。我尝试重新安装Python加pytube,但似乎无法解决此问题。脚本一半的时间起作用,而另一半却没有,这越来越令人困惑。
-
现在用此方法修复100%:
https://github.com/nficano/pytube/pull/767#issuecomment-716184994
在其他任何人遇到此错误或问题的情况下,在终端或cmd中运行以下命令:
python -m pip install git+https://github.com/nficano/pytube
pip安装尚未发布的pytubeX更新。GitHub链接是当前开发人员的解释情况。