Как скачать видео с YouTube при помощи Python

YouTube – это известный интернет-сервис потокового видео. Здесь собраны миллионы видеороликов в таких категориях, как образование, развлечения и путешествия. Эти видео можно запросто просматривать, но скачивать довольно сложно. Недавнее обновление YouTube позволяет сохранять видео в папке загрузок для просмотра в автономном режиме. Тем не менее, вы не можете сохранять их локально.

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU

Из этого руководства вы узнаете, как написать код на Python для загрузки видео с YouTube. Вероятно, вам известно, что одним из достоинств Python является огромное количество модулей и библиотек. Мы напишем скрипт, используя популярный пакет pytube.

Чтобы следовать этому руководству, вам понадобятся:

  • понимание языка Python
  • Python 3+, установленный на вашем компьютере
  • редактор кода.

Обзор и установка pytube

Pytube – это небольшой, свободный от зависимостей модуль Python для доступа к видео из интернета. Этот модуль не поставляется в комплекте с Python, а значит, для использования его необходимо сначала установить. Если у вас есть pip, установка проста.

Чтобы установить pytube с помощью pip, вам нужно открыть командную строку от имени администратора и ввести следующую команду:

pip install pytube

Python-скрипт для загрузки видео с YouTube

Когда модуль установлен, можно приступать к работе. Для обращения к определенному видео на YouTube необходимо создать объект YouTube, в конструктор которого передается ссылка на видео. Затем указывается нужное расширение и разрешение видео. Имя файла можно изменить по своему усмотрению (в противном случае будет сохранено исходное имя).

Давайте рассмотрим на примере, как все это работает.

from pytube import YouTube

def Download(link):
    youtubeObject = YouTube(link)
    youtubeObject = youtubeObject.streams.get_highest_resolution()
    try:
        youtubeObject.download()
    except:
        print("An error has occurred")
    print("Download is completed successfully")


link = input("Enter the YouTube video URL: ")
Download(link)

Строка from pytube import YouTube нужна для импорта библиотеки. Затем мы определяем функцию Download.

Строка youtubeObject = youtubeObject.streams.get_highest_resolution() указывает, что загружать нужно самое высокое доступное разрешение.

try и except нужны, чтобы вернуть сообщение об ошибке, если загрузка не удалась. В противном случае будет выведено, что загрузка завершена успешно.

В переменную link мы сохраняем пользовательский ввод – ссылку на видео на YouTube. Сразу после нажатия кнопки Enter начнется загрузка видео.

Примечание редакции: о try-except можно почитать в статье “Чем полезна обработка ошибок при помощи try-except”.

Вот как выглядит запуск нашего кода в редакторе:

Код в редакторе PyCharm. В нижней части видны результаты работы.

Примечание редакции: о том, как запускать полученный скрипт, читайте в статье “Как запустить скрипт Python”.

Загруженное видео вы найдете в той же папке, где находится скрипт. Но при желании вы можете переместить его в удобное для вас место. В моем случае видео называется “Ronaldo celebrates with Antony.mp4”.

Желательно, чтобы во время работы скрипта у вас было надежное подключение к Интернету.

Библиотека pytube имеет множество сложных и интересных функций. Познакомиться с ними можно, почитав хорошо написанную официальную документацию.

Заключение

Мы успешно создали собственный Python-скрипт для загрузки видео с YouTube. Имея такой скрипт, вам не придется каждый раз искать загрузчик в интернете. Это также избавит вас от необходимости раскрывать свои данные на сторонних сайтах и предохранит от перехода по фишинговым ссылкам.

Перевод статьи David Fagbuyiro “How to Build a Python Program to Download YouTube Videos”.