Итак, вы в пустыне без подключения WiFi, но вы должны продолжать смотреть ваши любимые серии на YouTube. Простое решение для этого будет загружать видео заранее. Пока есть много видеозаковок Youtube, доступных в сети, вы, наверняка не хотите скачивать вредоносные программы с вашими любимыми видео? Поэтому предпочтительное решение состоит в том, чтобы сделать свой собственный загрузчик !!
Это всегда удивляет меня, как легко можно легко с Python. Чтобы сделать свой собственный на YouTube Video Downloader, вам понадобится только 2 строки кодов (да, вы слышали это правильно)!
И вот это. Разве это не красиво?
from pytube import YouTube yt = YouTube('https://www.youtube.com/watch?v=sVPYIRF9RCQ').streams[0].download()
Не забудьте запустить эту команду перед выполнением кода.
pip install pytube3 --upgrade
Объяснение
Первая строка импортирует YouTube
объект из Pybyube
библиотека. Затем во второй строке вы указываете видео, добавив URL-адрес видео. Затем выберите первое доступное доступное видео Потоки [0]
и наконец Скачать ()
Это!
Разве это не просто?
Хотя эти 2 строки кода будут делать работу Для вас все еще есть сфера для улучшений.
Некоторые небольшие проблемы
Загрузка видео из приведенного выше кода может создать следующие проблемы.
- Нет указания на то, сколько загрузки было завершено
- Не получение высочайшего качества
- Фиксированный путь загрузки
Исправлять проблемы
Давайте обрабатываем проблемы один за другим
1. Индикация Загрузка Длина
Мы покажем небольшой прогресс-бар, указывающий, что количество видео было загружено. Это довольно просто. Вам просто нужно импортировать один дополнительный модуль.
from pytube import YouTube from pytube.cli import on_progress url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ' yt = YouTube(url, on_progress_callback=on_progress) yt = yt.streams[0].download()
Давайте поговорим о изменениях. На второй строке мы импортируем панель прогресса. И на четвертой строке мы упоминаем, что делать, когда загрузки видео. по on_progress_callback = в процессе
Мы говорим, что программа отображает панель прогресса, когда видео загружается.
-> |██████████████████████████████████████████████████ | 97.0%
Бар прогресса будет выглядеть что-то подобное.
Загрузка видео высокого качества
Для этого нам нужно будет сортировать список потоков. Нам нужно будет использовать встроенный order_by
Способ сортировки потоков. Посмотрите на следующий код.
from pytube import YouTube url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ' yt = YouTube(url) yt.streams.order_by('resolution').desc() yt = yt.streams[0].download()
Вы можете заказать потоки по Itags и FPS тоже.
Включая путь загрузки
Чтобы загрузить видео на определенном пути, просто добавьте путь к файлу в качестве аргумента в Скачать ()
именно так.
from pytube import YouTube url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ' yt = YouTube(url) yt = yt.streams[0].download('/video')
Вы можете добавить полный путь тоже.
Окончательный код
from pytube import YouTube from pytube.cli import on_progress url = 'https://www.youtube.com/watch?v=sVPYIRF9RCQ' yt = YouTube(url, on_progress_callback=on_progress) yt.streams.order_by('resolution').desc() download_path = '/video' yt = yt.streams[0].download(download_path)
Итак, это сейчас. Если вы спешите и надо скачать несколько видео, просто обратитесь к окончательному коду. Однако, если вы хотите узнать больше, вы можете прочитать официальный Документация Отказ Я не хочу ограничивать ваше воображение, но вот несколько вещей, которые вы можете попробовать.
- Сделать веб-приложение
- Сделать график
- Добавьте параметры авансионной фильтрации
Я надеюсь, что этот пост был несколько полезным для вас. И это все, что мне нужно было предложить вам на этот раз. До следующего раза, счастливое кодирование для вас. 😊
Оригинал: “https://dev.to/muhimen123/youtube-video-downloader-with-just-2-lines-of-codes-cea”