Akela953
@Akela953
Учусь писать код)

Как вывести все качества видео одного видео pytube?

Привет.
Начал изучать библиотеку pytube для скачивания видео с YouTube. Хотел сделать вывод все качества видео, но столкнулся с некоторыми проблемами. Пробовал код с документации и других источников, но почему-то качества дублируются или некоторые не выводятся.
Ниже код, который я тестировал:
yt = YouTube("https://youtu.be/uCNWuSbPnt4")
for stream in yt.streams:
    print(stream.resolution)

""" Вывод
144p
360p
720p
2160p
2160p
1440p
1440p
1080p
1080p
1080p
720p
720p
720p
480p
480p
480p
360p
360p
360p
240p
240p
240p
144p
144p
144p
None
None
None
None
None
"""

Как мне получить качества видео без дублирований? То есть:
144p
240p
360p
480p
720p
1080p
1440p
  • Вопрос задан
  • 317 просмотров
Решения вопроса 1
drygdryg
@drygdryg
Python-разработчик
Например, так:
from pytube import YouTube

yt = YouTube("https://youtu.be/uCNWuSbPnt4")
resolutions = sorted(
    set(stream.resolution for stream in yt.streams.filter(type='video')),
    key=lambda s: int(s.split('p')[0])
)
print(*resolutions, sep='\n')

Результат выполнения программы:
144p
240p
360p
480p
720p
1080p
1440p
2160p
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Изучаешь сторонние библиотеки не изучив основ?
Хм... Ну ок, подскажу: set
Гугли документацию.
Ответ написан
@logicpro
Представленный выше вариант от Виктор Голованенко должен вам подойти, если же нет, можно resolutions сравнивать на совпадения и убирать их, а затем выводить .
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы