Вступление
YouTube — видеохостинг, предоставляющий возможность пользователям хранить, создавать и просматривать видеоролики по различным тематикам. Иногда может появляться потребность в скачивании понравившегося ролика на свой компьютер, но, к сожалению, YouTube не предоставляет такого функционала на прямую. Существует множество веб-сайтов способных скачать видео с YouTube, нужно просто указать ссылку на видеоролик. Но что, если нужно скачать 10, 50, 100 роликов за раз? Для реализации данной потребности может помочь библиотека на Python, позволяющая загружать видео с YouTube.
Для начала установим две библиотеки — yt_dlp и tqdm. Первая как раз нужна для скачивания видео с YouTube, а вторая поможет отслеживать процесс скачивания в виде индикатора прогресса.
Написание кода
Для написания кода воспользуемся облачной средой Google Colab. Перейдем к процессу скачивания видео из YouTube:
1. Устанавливаем необходимые библиотеки:
!pip install tqdm !pip install yt_dlp
2. Импортируем необходимые библиотеки
import yt_dlp from tqdm.notebook import tqdm import datetime import os
3. Подключаем Google Drive в который будет сохранять скачанные видео
from google.colab import drive drive.mount('/content/drive/')
4. Создаем TXT файл, где каждая строчка это ссылка на YouTube видео. Добавляем файл в директорию Google Colab (файл необходимо назвать videos.txt)
5. Скачиваем видео с YouTube. Сохраняем их в папке в Google Drive.
# Считаываем ссылки из файла и создаем список из них with open('videos.txt', 'r+') as f: links = f.readlines() # Создаем папку для видео в корневой директории Google Drive current_time = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M_%S') youtube_videos_folder_path = f'/content/drive/MyDrive/youtube_videos_{current_time}' os.mkdir(youtube_videos_folder_path) # Конфигурационные параметры ydl_opts = { 'format': 'mp4', 'outtmpl': f'{youtube_videos_folder_path}/%(title)s.%(ext)s' } # Пробегаемся по списку из ссылок на видео и скачиваем их в Google Drive в созданную ранее папку for url in tqdm(links): with yt_dlp.YoutubeDL(ydl_opts) as ydl: ydl.download([url])
Важно
После запуска скрипта, в Google Drive появится папка с названием youtube_videos_{текущая дата и время}. Если понадобится скачать другие видео, то просто меняем ссылке в файле videos.txt и заново выполняем п.5
Полный код доступен по ссылке
Вывод
Таким образом, нам удалось написать код который позволяет скачивать видео из YouTube в любом количестве. Данный код можно дорабатывать, встраивать в различные процессы и рассказывать о нем другим людям, чтобы все могли пользоваться таким полезным инструментом.