Почему не работает библиотека pytube: "'YouTube' object has no attribute 'get'"
Не работает код, программа должна скачать видео
from pytube import YouTube
video_link = 'https://www.youtube.com/watch?v=8ZpVwAeLzm4'
yt = YouTube("https://www.youtube.com/watch?v=90KZnwrVMgY")
video = yt.get('mp4', '720p')
video.download('/download/')
pip install pytube3 делал
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Когда-то метод get был в нем: https://github.com/nficano/pytube/blob/442786af48a411006a2c302410a6c2abce8ac82b/pytube/api.py#L221 но уже c октября 2017 того метода там нет, поэтому нужно использовать другие методы.
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=90KZnwrVMgY'
yt = YouTube(url)
print(f'Download video {yt.title!r}: {url}')
streams = yt.streams\
.filter(progressive=True, file_extension='mp4', resolution='720p')\
.order_by('resolution')
video = streams[-1]
print('Stream url:', video.url)
video.download()
PS.
Хотел бы отметить, что:
- Нужно именно
pip install pytube3 --upgrade, а неpip install pytube3, иначе будет ошибка при импорте:ImportError: cannot import name 'quote' from 'pytube.compat' - Нужно указывать атрибут
progressive=True, чтобы получить поток с видео и аудио в одном файле - Лучше проверять
streams, т.к. он может быть пустым, если по фильтру не нашлось потоков (см. в примере)