PythonでYouTube動画の字幕情報を取得する方法

環境

  • Windows 10
  • Python 3.9.4
  • VSCode

使用するソースコード

以下の公開リポジトリに置いています

GitHub - masayan1126/tao-py-py: 作業自動化用 Python ライブラリ
作業自動化用 Python ライブラリ. Contribute to masayan1126/tao-py-py development by creating an account on GitHub.

手順

ライブラリのインストール

youtube-transcript-apiという専用のライブラリを使用することで字幕情報を取得できます。なお、バージョン管理にpipenvを使用しています

pipenv install youtube-transcript-api

ダウンロードしたい動画のvideo_idを控える

masayan
masayan

video_idは動画URLのv=以降の部分です

Ex) https://www.youtube.com/watch?v=

ダウンロードの処理を実装する

以下のようなスクリプトを実行すると、1動画内の字幕情報を、辞書型で取得することが可能です

from youtube_transcript_api import YouTubeTranscriptApi

transcript_list = YouTubeTranscriptApi.list_transcripts("video_id")

for transcript in transcript_list:
    for tr in transcript.fetch():
        print(tr) # {'text': '字幕のテキスト情報', 'start': 字幕の開始時間, 'duration': 字幕が表示されている時間}

Python学習におすすめの書籍

独習Python/山田祥寛【3000円以上送料無料】
bookfan 1号店 楽天市場店
¥ 3,300(2023/01/31 18:22時点)
タイトルとURLをコピーしました