年齢制限付きの動画をDLする
メールアドレスとパスワードを渡す
年齢制限付きの動画をDLしようとすると
「raise DownloadError(message, exc_info)yt_dlp.utils.DownloadError: ERROR: [youtube] FvLXx3ujNmk: Sign in to confirm your age. This video may be inappropriate for some users.」
というエラーが発生します。
DLする際に、ユーザーのメールアドレスとパスワードを渡すことで年齢確認をパスできます。
次のコードを追記してください。
option = {
'username': 'あなたのメールアドレス',
'password': 'あなたのパスワード',
}
Cookieを使う
直接コードにパスワードを入力するのはセキュリティ上よくないため、Cookieを使ってログインする方法がyt_dlpFAQで推奨されています。
GoogleChromeの拡張機能「Get cookies.txt LOCALLY」をインストールして、年齢制限の付いたYouTubeの動画を開きます。動画ページでGet cookies.txt LOCALLYのアイコンをクリックし、エクスポートボタンをクリックします。
ーーーーー
※補足:GoogleChromeの拡張機能「EditThisCookie」でも同じことができますが、ファイルをJson形式でしかエクスポートできません。yt_dlpはJSON形式で書かれたcookie.txtを受け付けないのでエラーが発生します。Netscape形式のcookie.txtを作りましょう。
ーーーーー
クッキーをcookie.txtという名前で保存した後、yt_dlpにクッキーを渡します。
option = {
'cookies': 'C:/path/xxxx', // 保存したクッキーのパス
}
それでもダメな場合
–list-formatsオプションをつけて、実行し次のような警告文が出てきたりもします。
yt-dlp https://www.youtube.com/watch?v=FvLXx3ujNmk --cookies C:/Users/{ユーザー名}/Downloads/cookie.txt --list-formats
WARNING: Only images are available for download. use –list-formats to see them
[info] Available formats for FvLXx3ujNmk:
ID EXT RESOLUTION FPS │ PROTO │ VCODEC MORE INFO
────────────────────────────────────────────────────
sb3 mhtml 48×27 1 │ mhtml │ images storyboard
sb2 mhtml 80×45 1 │ mhtml │ images storyboard
sb1 mhtml 160×90 1 │ mhtml │ images storyboard
sb0 mhtml 320×180 1 │ mhtml │ images storyboard