short answer
pytubeの代わりにpytubefixを使いましょう。
発生したエラー
pytubeでYouTubeの動画をダウンロードしようとしたところ、以下のようなエラーが発生しました。
urllib.error.HTTPError: HTTP Error 400: Bad Request
調べてみると、pytubeはメンテナンスされていないので、pytubefixを使うように、という記事がいくつか見つかりました。
pytubefixの使い方
ドキュメントは以下です。
ここにも使い方を書いておくと、以下のコードで動画がダウンロードできます。
from pytubefix import YouTube
from pytubefix.cli import on_progress
url = "{ダウンロードしたい動画のURL}"
yt = YouTube(url, on_progress_callback = on_progress)
ys = yt.streams.get_highest_resolution()
ys.download()
備考
このコードを実行するとmp4でダウンロードされますが、YouTubeで見るのと比べて画質が落ちます。
最高画質でダウンロードしたい場合は、以下の記事を参考にwebm形式でダウンロードするのが良いと思います。(mp4への変換についても触れています)