Друзья всем привет, вы на канале PYTHONTODAY, добро пожаловать в рубрику #tipsandtricks , в которой мы создаём интересные, полезные и весьма простые программы на языке Python.
Сегодня мы напишем свою собственную программу для скачивания видео с YouTube.
Периодически я пользовался сторонними сервисами, так как порой бываю в местах где отсутствует связь и посмотреть или послушать отложенное видео онлайн не предоставляется возможным. Задача решалась скачиванием видео и записью на носитель.
Мне стала интересна оценочная стоимость и посещаемость подобных ресурсов, и как следствие появился коммерческий интерес создания аналога и желание разобраться как это всё работает.
Сегодня мы напишем скрипт с помощью которого сможем выбирать качество видео файла, а затем скачивать его.
Окей, давайте приступим к написанию кода.
Установим две библиотеки youtube-dl и pafy:
Методы последней мы и будем сегодня использовать. У пафи есть достаточно простая и подробная документация.
Импортируем библиотеку и первым делом создадим переменную url, это будет ссылка на какой нибудь ролик:
Напечатаем подсказку пользователю и обернём получение ссылки в функцию input:
Создадим функцию download(url) которая будет принимать один параметр, полученный от пользователя url:
Создаём объект pafy и сразу обернём код в try | except:
Получим все видео потоки содержащие звуковую дорожку:
Создадим словарь available_streams и переменную count:
И в цикле пробегаясь по нашему списку потоков, будем наполнять словарь ключами count и значениями stream, а после увеличивать count += 1:
Вызовим функцию download(url), запустим скрипт и передадим ссылку на YouTube видео:
Отлично, мы получаем список из возможных вариантов для скачивания.
Далее запросим у пользователя желаемое качество:
Обратимся к списку наших потоков и передадим в качестве индекса stream_count - 1, далее вызвав метод .download():
Почему - 1? Потому, что мы задали count = 1 Если бы он был равен 0, то нужды отнимать единицу не было бы. Но, я подумал, что отчёт с 1 для пользователя будет привычней.
В конце добавим print об успешном скачивании:
Тестируем код:
Наш код отлично работает. Реализацию полной программы вы можете посмотреть На YouTube канале PYTHONTODAY на котором найдете видеоуроки:
- - по созданию ботов
- - парсингу сайтов
- - приложений на смартфон
- - машинному обучению и big data с нуля
Освой сетевую безопасность, и задавай вопросы в клубе.
Вступай в клуб Python разработчиков!
Код из видео доступен на Github и телеграм канале. Вот собственно и всё. Enjoy!
Читайте так-же:
Конвертер текста в аудио на Python
Полный гайд по строкам в Python
Числа в Python
Настраиваем свой VPN
Как узнать процент заряда батареи на Python
Установка Python на Windows
Как подключить PostgreSQL к Django
Спасибо, что дочитали до конца. Вы меня очень поддержите, если поставите "Лайк", оставите комментарий или ПОДПИШИТЕСЬ на мой канал :)