Рубрики
Без рубрики

YouTube Video Downloader (всего лишь 2 строки кодов)

Итак, вы находитесь в пустыне без подключения WiFi, но вы должны продолжать смотреть ваши любимые серии … Теги с Python, WebDev.

Итак, вы в пустыне без подключения 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”