この記事の目的
この記事では、yt-dlp を使用して YouTube のチャネル内動画を一括ダウンロードする方法を説明します。
サンプルコードでは、 Wolfgang's Channel 、MrBeast 、精选电视剧频道 、Microsoft Developer などを例にとり、期間や単語を指定してのダウンロード方法を説明しています。
ヨビノリ や まめたま や キンプリ を含め、サンプルコードを少し書き換えることで、好きなアーティストやクリエイターの動画をダウンロードすることができます。
(応援したいクリエイターやアーティストの場合は、少しでもその努力が還元されるように、動画をダウンロードした後も、オリジナルサイトで再生してください。)
手順
1. yt-dlp
の実行ファイルの取得
この記事は以前の記事の続編です。
以前の記事を参照し、 yt-dlp
の実行ファイルを取得してください。
2. サンプルコード
2.1. 🔥 チャネル内の動画すべてをダウンロードする 🔥
チャネル内の動画すべてをダウンロードする場合、以下のようなコマンドを実行します。
yt-dlp -o "%(upload_date)s - %(title)s.%(ext)s" https://www.youtube.com/@WolfgangsChannel
👉 -o "%(upload_date)s - %(title)s.%(ext)s"
の部分はファイル名に YouTube へのアップロード日を追加します。
これによって、動画の時系列が分かりやすくなります。
上記コードを複数行で記載すると以下のようになります。
yt-dlp ^
-o "%(upload_date)s - %(title)s.%(ext)s" ^
https://www.youtube.com/@WolfgangsChannel
👉 各行末に ^
(キャレット)があることに注意してください。
^
(キャレット)を使うことで、コマンドを複数行で記述できるようになります。
2.2. 🔥🔥 期間を指定して動画をダウンロードする 🔥🔥
過去 3 ヶ月の動画を一括ダウンロードしたい場合は以下のようなコードになります。
yt-dlp ^
--dateafter now-3month ^
-o "%(upload_date)s - %(title)s.%(ext)s" ^
https://www.youtube.com/@MrBeast
👉 month
の代わりに、 day
、 week
、 year
も使えます。
2.3. 🔥🔥🔥 タイトルを指定して動画をダウンロードする 🔥🔥🔥
動画タイトルに含まれる文字列を指定して、動画をダウンロードしたい場合は以下のようなコードになります。
yt-dlp ^
--match-filter "title~=繁花梦" ^
-o "%(upload_date)s - %(title)s.%(ext)s" ^
https://www.youtube.com/@user-mr4qg5bw3h
検索文字列が空白を含む場合は、以下のように文字列を '
(シングルクォート)で囲ってください。
yt-dlp ^
--match-filter "title~='GitHub Copilot'" ^
-o "%(upload_date)s - %(title)s.%(ext)s" ^
https://www.youtube.com/@microsoftjapanvideos
2.4. 🔥🔥🔥🔥 プレイリストに含まれる動画をダウンロードする 🔥🔥🔥🔥
以下のように出力ファイルを設定することで、
- プレイリスト・タイトルのフォルダを作成し
- 通し番号(2 桁)が先頭についた形で動画ファイルが保存されます。
yt-dlp ^
-o "%(playlist_title)s/%(playlist_index)02d - %(title)s.%(ext)s" ^
https://www.youtube.com/playlist?list=PLj6YeMhvp2S5G_X6ZyMc8gfXPMFPg3O31
他の環境での実行
1. PowerShell での実行
👉 PowerShell の場合は、 ^
(キャレット)の代わりに `
(バッククォート)を使用します。
また、 yt-dlp
の代わりに、 .\yt-dlp
もしくは ./yt-dlp
と記載します。
サンプルコードは以下のようになります。
./yt-dlp `
-o "%(upload_date)s - %(title)s.%(ext)s" `
https://www.youtube.com/@BLACKPINK
👉 エクスプローラーから PowerShell
のウィンドウを開くには、アドレスバーに powershell
と入力して Enter
キーを押します。
2. Linux での実行
👉 Linux の場合は、 ^
(キャレット)の代わりに \
(バックスラッシュ)を使用します。
yt-dlp \
-o "%(upload_date)s - %(title)s.%(ext)s" \
https://www.youtube.com/@MichaelJackson
⚡ 途中で止めたい場合 ⚡
途中で止めたい時は、Ctrl
+ C
です。
回線が遅かったり、予想以上にファイルサイズが大きくて時間がかかりそうな時は、Ctrl
+ C
でダウンロードをいったん中止して、通信環境の良い状態で再度実行しましょう。
⚡ フォルダ内のファイルを削除しても大丈夫? ⚡
全ての動作は実行フォルダ内で完結しています。
不要なファイルやダウンロード途中で停止したファイルを削除しても、 Windows が使えなくなるなどの不具合が発生することはありません。
また、同じ動画をダウンロードする場合、ダウンロード済み場合は(正確には、同じ名前のファイルが存在する場合は) already been downloaded
としてスキップされます。