Хотите научиться работать с YouTube с помощью Python?
Давайте изучим Pytube!
Pytube — это легкая, независимая библиотека Python для загрузки видео с YouTube и получения их метаданных.
Установка библиотеки
Установите Pytube с помощью менеджера пакетов pip с помощью терминала следующим образом:
pip install pytube
Импорт библиотеки
from pytube import YouTube
Создание объекта YouTube
Для работы с отдельным видео на YouTube мы используем его URL для создания объекта YouTube
следующим образом:
url = "https://youtu.be/nHDf1iq-yC0" yt = YouTube(url)
Доступ к названию видео
Доступ к заголовку видео можно получить из этого объекта следующим образом:
title = yt.title print(f"Title: {title}") #Output : Title: Mine
Доступ к миниатюре видео
Доступ к URL миниатюры видео можно получить с помощью атрибута thumbnail_url
.
print(yt.thumbnail_url) #Output: "https://i.ytimg.com/vi/nHDf1iq-yC0/sddefault.jpg"
Доступ к просмотрам видео
Доступ к общему количеству просмотров видео осуществляется следующим образом:
print(yt.views) #Output: 1172636
Доступ к другим метаданным
Есть много других атрибутов, которые можно использовать следующим образом:
# Retrieve metadata video_id = yt.video_id channel_id = yt.channel_id channel_name = yt.author duration = yt.length description = yt.description publish_date = yt.publish_date tags = yt.keywords age_restricted = yt.age_restricted rating = yt.rating available_captions = yt.captions # Print metadata print(f"Video ID: {video_id}") print(f"Channel ID: {channel_id}") print(f"Channel Name: {channel_name}") print(f"Duration: {duration} seconds") print(f"Description: {description}") print(f"Publish Date: {publish_date}") print(f"Tags: {tags}") print(f"Age Restricted: {age_restricted}") print(f"Rating: {rating}")
Загрузка субтитров
Подписи, связанные с видео, можно найти следующим образом:
print(yt.captions)
Чтобы загрузить субтитры, доступные на определенном языке (например, на английском), мы используем следующий метод:
en_caption = yt.captions.get_by_language_code("en")
Эти субтитры можно сохранить в файле с именем captions.srt
, как показано ниже:
with open("captions.srt", "w", encoding="utf-8") as caption_file: caption_file.write(en_caption.generate_srt_captions())
Обратите внимание, что SRT (SubRip Text) — это широко используемый формат простых текстовых субтитров, который включает временные коды, когда следует отображать каждый субтитр.
Загрузка видео
Мы можем получить доступ к атрибуту streams
объекта YouTube
, чтобы проверить все потоки, доступные для видео. Это делается следующим образом:
yt.streams
Чтобы получить поток самого высокого разрешения, связанный с видео, мы используем следующий метод:
yt.streams.get_highest_resolution()
Скачиваем этот поток следующим образом:
yt.streams.get_highest_resolution().download()
Работа с плейлистами
Для работы с плейлистом YouTube мы сначала создадим объект Playlist
следующим образом:
from pytube import Playlist playlist_url = "https://www.youtube.com/playlist?list=xyz" pl = Playlist(playlist_url)
Доступ к URL-адресам видео в плейлисте
Чтобы найти URL-адреса видео, связанные с плейлистом, мы используем следующий атрибут:
print(pl.video_urls)
Загрузка всех видео из плейлиста
Это можно сделать следующим образом:
for video in pl.videos: video.streams.get_highest_resolution().download()
Работа с каналами
Для работы с каналом YouTube мы сначала создадим объект Channel
следующим образом:
from pytube import Channel ch = Channel('https://www.youtube.com/c/channel_name')
Доступ к URL-адресам видео канала
Чтобы найти URL-адреса видео, связанные с каналом, мы используем следующий атрибут:
print(ch.video_urls)
Загрузка всех видео с канала
Это можно сделать следующим образом:
for video in ch.videos: video.streams.get_highest_resolution().download()
Это все для этой статьи.
Большое спасибо за внимание!
Если вы новичок в Python или машинном обучении, ознакомьтесь с моими книгами ниже:
Повышение уровня кодирования
Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:
- 👏 Хлопайте за историю и подписывайтесь на автора 👉
- 📰 Смотрите больше контента в публикации Level Up Coding
- 💰 Бесплатный курс собеседования по программированию ⇒ Просмотреть курс
- 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"
🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу