✒️
勉強系YouTubeプレイリストの総学習時間を把握するためのスクリプト
動画学習を始める前に「この講座、全部で何時間くらいだろう?」と見積もりたくなりますよね。
そこで、YouTubeプレイリストから 動画タイトルと再生時間をCSVにまとめる小さなスクリプトを作りました。
この記事では、セットアップから使い方までを簡単に紹介します。
できること
- プレイリスト内の動画タイトルと再生時間を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