Yotazo Lab.

ほぼ自分用。でも誰かの役に立つかもしれない話題

pytubeでyoutubeのplaylistダウンロードができた

f:id:yotazo:20180125162038p:plain

前回で終わりといいつつ、まだやってるpytube。

だって、
いつのまにか追加されていて見逃していた機能があったんです。

それが、playlistダウンロード。

名前の通り、playlistの動画を全部ダウンロードしてくれる機能です。

※pytubeの使い方は過去記事をどうぞ。
yotazo.hateblo.jp
yotazo.hateblo.jp
yotazo.hateblo.jp

pytubeをアップデートする

playlistダウンロードのモジュールは、pytubeのバージョン9.0.6以降に入っているので、アップデートがまだの場合はpytubeをアップデートしておきます。

pip install pytube -U

でok

使い方

from pytube import Playlist

クラスを読み込んで

pl = Playlist("https://www.youtube.com/watch?v=Edpy1szoG80&list=PL153hDY-y1E00uQtCVCVC8xJ25TYX8yPU")

URLを渡してオブジェクト生成

pl.download_all()

download_all()すればok

説明によると、機能はまだこれだけのようです。

This will download the highest progressive stream available (generally 720p) from the given playlist. Later more option would be give users flexibility to choose video resolution.

progressiveで解像度の一番高いストリーム(普通は720p)をダウンロードするよ。解像度を選べるようなオプションもそのうちつけるよ。と書いてあります。

スクリプトのファイルで実行する場合、こんな感じにしてlist.py とかで実行。

from pytube import Playlist
pl = Playlist(input("Enter YouTube List : "))
pl.download_all()

playlistのURLはlist=hogehogeだけではなく、watch=とか余計なパラメータが付いていても成型してくれるので大丈夫です。URLを入れてEnter でplaylistにある動画を全部ダウンロードしてくれます。