パッケージをインストールして利用すれば、数行のコードを書くだけで実装できます。
それでは早速やっていきます。
まず、必要なパッケージをpip経由でインストールします。
pip install pafy youtube_dl
pafyはYoutubeコンテンツをダウンロードしてメタ情報を取得するためのライブラリで、youtube_dlが動画として保存するためのライブラリです。
ストリーミング再生をしたいだけならpafyで事足りますが、動画保存までとなるとyoutube_dlが必要なります。
コードを記述します。
import pafy
import youtube_dl
# 動画のURL
link = 'https://youtu.be/d0tU18Ybcvk'
video = pafy.new(link)
# 一番高い解像度を選択
best = video.getbest()
# DLされる解像度と拡張子の確認
print(best.resolution, best.extension)
# DL開始->裏側でyoutube_dlが使われる
best.download()
コメントで、コードの説明を残してあります。
後はこのファイルをターミナルなどで実行すればいいだけです。すると次のようになり完了するとローカルに動画が保存されます。
オペレーションで一つずつやるのが嫌な方は、CSVなどでダウンロードしたい動画一覧のURLを用意しておいて、pythonでCSVを読み取り、上記のコードを実行をする仕組みを構築するのが早いです。
CSVからダウンロード先を読み取る
とりあえず動作するか確かめたい方は次のサンプルをダウンロードして試してください
コードを追記します。
import pafy
import youtube_dl
import csv
with open('video.csv') as f:
links = f.read().split("\n")
for i in links:
video = pafy.new(i)
best = video.getbest()
print(best.resolution, best.extension)
best.download()
これである程度、自動化することができました。
さらに頑張りたい方は、スクレイピングしてCSVに書き出すのを自動化する、もしくはpython(selenium)で直接Youtubeの動画URLを取得しにいくという方法もあります。