Youtubeの音声の文字おこしする方法は色々あるのですが、音声認識だと精度とか手間がネックだったのですが、「youtube-transcript-api」というライブラリを使用すれば字幕情報を直接取得できるみたいなのでその方法を紹介したいと思います。
youtube-transcript-apiとは?
youtube-transcript-apiは、Googleが提供するYouTube Data APIを使って、YouTubeの動画の自動字幕の情報を取得するためのライブラリです。このライブラリを利用することで、手軽かつ自動的に動画の字幕を利用することが可能となります。
youtube-transcript-apiを利用するためには、Pythonのpipコマンドを用いてインストールする必要があります。以下がそのコマンドです。
$ pip install youtube-transcript-api
ライブラリの基本的な使い方
youtube-transcript-apiを使った動画の字幕取得の基本的な使い方は、以下のステップで行うことができます。
① 必要なライブラリをインポートする
“`python
from youtube_transcript_api import YouTubeTranscriptApi
“`
② 字幕取得したい動画のIDを設定する
“`python
video_id = ‘動画ID’
“`
③ YouTubeTranscriptApiを用いて、字幕を取得する
“`python
transcript = YouTubeTranscriptApi.get_transcript(video_id, languages=[‘言語’])
“`
ここで、languagesの引数で設定するのは、取得する字幕の言語を指定することができます。
以上のステップで、動画の字幕を取得することができます。
具体的な設定方法については、YouTubeTranscriptApiの公式ドキュメントを参照してください。
サンプルコード
上記をまとめると以下のようになります
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': 字幕が表示されている時間}
ダウンロードしたい動画のvideo_idは動画URLのv=以降の部分です
例) https://www.youtube.com/watch?v=~
まとめ
今回は、「Pythonの「youtube-transcript-api」というライブラリを用いて、動画の字幕を文字起こしする方法」について、引数設定を中心に冗長に解説していきました。
関連動画:YoutubeのAPIを使って動画再生回数などをスクレイピングする
関連記事:【Python】Youtubeの再生数・コメント数・高評価数をスクレイピングで取得する
コメント