Хотите научиться работать с 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 и найдите прекрасную работу