\

Pythonは多機能なプログラミング言語で、その一つとしてYouTubeの字幕をダウンロードすることが可能です。ここでは、Pythonを使ってYouTubeの字幕をダウンロードする方法を紹介します。

パッケージのインストール

まずは必要なパッケージをインストールします。ここではdownload-youtube-subtitleというパッケージを使用します。このパッケージはYouTubeのAPIの変更に対応しており、プレイリスト全体の字幕をダウンロードすることが可能です。

pip install download-youtube-subtitle

字幕のダウンロード

次に、実際に字幕をダウンロードするコードを書きます。以下に一例を示します。

from yt_dlp import YoutubeDL
import requests

id = 'https://www.youtube.com/watch?v=vSHpZeCu8eg'  # YouTubeの動画ID
language = 'ja'  # 字幕の言語
subtitle_track_num = 3  # 字幕トラックの番号

# YoutubeDLのインスタンスを初期化
ydl_opts = {
    'writesubtitles': True,
    'allsubtitles': True,
    'subtitleslangs': [f'{language}'],
}

with YoutubeDL(ydl_opts) as ydl:
    info_dict = ydl.extract_info(id, download=False)

    # 日本語の字幕が存在するかを確認
    if 'subtitles' in info_dict and f'{language}' in info_dict['subtitles']:
        subtitles_info = info_dict['subtitles'][f'{language}']

        # 字幕トラックが利用可能かを確認
        if subtitles_info:
            subtitle_track = subtitles_info[subtitle_track_num]

            # 字幕の内容を取得
            subtitle_content = requests.get(subtitle_track['url']).text

            # 動画のタイトルから特殊文字を削除
            title = ''.join(char for char in res["title"] if char.isalnum())

            # 字幕の内容をファイルに保存
            with open(f'{id}_{title}_{language}.{ext}.ytt', 'w', encoding='utf-8') as subtitle_file:
                subtitle_file.write(subtitle_content)

            print('\\033[32m'+'success : 日本語の字幕をダウンロードして保存しました。 '+'\\033[0m')
        else:
            print('\\033[31m'+'failure : 日本語の字幕トラックが見つかりませんでした。 '+'\\033[0m')
    else:
        print('\\033[31m'+'failure : この動画には日本語の字幕が利用できません。 '+'\\033[0m')

このコードは、指定したYouTubeの動画から字幕をダウンロードし、それをテキストファイルとして保存します。

注意点

YouTubeの仕様変更により、上記のコードが動作しなくなる可能性があります。その場合は、開発者が対応するまで待つか、別の方法を探す必要があります。

また、YouTubeからダウンロードしたものはアップロードした人に権利があるので、個人の範囲内で楽しみましょう。

以上がPythonを使ってYouTubeの字幕をダウンロードする方法です。Pythonの多機能性を活かして、さまざまな作業を自動化してみてください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です