В pytube не могу определить стрим на YouTube при помощи исключения exceptions.LiveStreamError
Добрый день при помощи библиотеки pytube не могу определить стрим на YouTube
from pytube import YouTube
from pytube import exceptions
video = 'https://www.youtube.com/watch?v=Dx5qFachd3A'
try:
yt = YouTube(video)
print (yt.title)
except exceptions.LiveStreamError:
print('exceptions.LiveStreamError')
Выдаётся вот такая ошибка:
Traceback (most recent call last):
File "./test2.py", line 7, in <module>
yt = YouTube(video)
File "/usr/local/lib/python3.6/dist-packages/pytube/__main__.py", line 92, in __init__
self.descramble()
File "/usr/local/lib/python3.6/dist-packages/pytube/__main__.py", line 132, in descramble
apply_descrambler(self.player_config_args, fmt)
File "/usr/local/lib/python3.6/dist-packages/pytube/extract.py", line 281, in apply_descrambler
formats = json.loads(stream_data["player_response"])["streamingData"]["formats"]
KeyError: 'formats'
Использую python3 pytube устанавливал так: pip3 install pytube3 --upgrade
Подскажите пожалуйста в чём моя ошибка? Или как мне при помощи библиотеки pytube определить что по ссылке стрим, а не видео?
Ответы (1 шт):
Автор решения: frozencoast
→ Ссылка
Проблема не в коде, а в самом pytube3. Решается она фиксом, при наличии установленного GIT:
pip3 uninstall -y pytube3
pip3 install "git+https://github.com/tooxo/pytube.git@fix_609"