✒️

勉強系YouTubeプレイリストの総学習時間を把握するためのスクリプト

に公開

動画学習を始める前に「この講座、全部で何時間くらいだろう?」と見積もりたくなりますよね。
そこで、YouTubeプレイリストから 動画タイトルと再生時間をCSVにまとめる小さなスクリプトを作りました。

https://github.com/shiryu-nakano/youtube_playlist_extract

この記事では、セットアップから使い方までを簡単に紹介します。

できること

  • プレイリスト内の動画タイトルと再生時間をCSV出力
  • csv内にクリック可能なリンクとしても出力できる
  • CSVを使って合計時間を計算し,見積もりを立てて計画を立てられる

必要なもの

  • Python
  • YouTube Data API v3 の APIキー

セットアップ

YoutubeのAPIキー取得についてはわかりやすい記事や動画がたくさんあります
 例)【YouTube API】APIキーの取得方法について(超絶簡単)

リポジトリをクローンしてください。

git clone https://github.com/shiryu-nakano/youtube_playlist_extract.git

必要なライブラリをインストールします。

cd youtube_playlist_extract #リポジトリのディレクトリに移動してください
pip install -r requirements.txt

APIキーは環境変数に入れておきます。

export YOUTUBE_API_KEY="YOUR_API_KEY"

使い方

対話形式でURLを入力

python playlist_extract.py
Playlist URL or ID:

URLを聞かれるので,コピペしてください.

例)

python playlist_extract.py                             
Playlist URL or ID: https://www.youtube.com/playlist?list=PLDJfzGjtVLHmlQ61qmyg4CI9TgFG1opcZ

index,title,duration,video_url
1,【大学物理】力学入門①(はじめに)【力学】,19:34,https://www.youtube.com/watch?v=szhJik4HIXQ
2,【大学物理】力学入門②(位置・速度・加速度)【力学】,31:39,https://www.youtube.com/watch?v=MoyfqNHoO4E
...
22,振り子の等時性は正しいのか?現れる第1種完全楕円積分,16:49,https://www.youtube.com/watch?v=n-wpASaO3oE
23,【大学物理】断熱不変量(古典力学系)【力学】,25:42,https://www.youtube.com/watch?v=3QBghN-QwQ8
(.youtubeExtract) nkn4ryu@nakanoshisatsus-MacBook-Pro youtube_playlist_extract % 

引数で指定する場合

python playlist_extract.py "https://www.youtube.com/playlist?list=PLxxxx"

CSVに保存したい場合

python playlist_extract.py "PLxxxx" -o out/playlist.csv

Excel / Google Sheetsでクリック可能なリンクにする

python playlist_extract.py "PLxxxx" -o out/playlist.csv --hyperlink

おわりに

CSVに出力された duration 列を合計すれば、プレイリストの総学習時間が分かります。
たとえば Google Sheets なら、時間形式の列を合計するだけです。

「始める前に、だいたい何時間の講座か知っておきたい」という用途にぴったりです。

動画学習の計画を立てるとき、総時間が見えていると安心です。
必要に応じて、JSON出力や合計時間の自動計算も拡張できます。


リポジトリ内の日本語READMEも参考にどうぞ (ほぼ同じことが書いてありますが...): README.ja.md

Discussion