yt-dlpコマンドで、年齢制限を何とかする
この記事を書いた動機 特に、2015年以降の買収済みのyoutube(というかgoogle)はどうも営利企業としての側面をあらわにしているのか、広告ブロックされる理由を考えて対応するより先に、広告ブロックを悪者にして追い出したり、利用者に対して一方的な方針転換やサービスの実装をしているようである。 その波が、動画をダウンロードするこのコマンドにも来ているようで、なんか年齢制限でダウンロードできないというあまりに不便な挙動をしていることに気づいた。何とかしようと考えるわけだが、なかなか面倒だったし、思い出せる自信もないので、結構いい加減だけど、記録を残すことにした。 環境について 私は普段、windows を使っておらず、linux環境しか使ってないです。なのでこの記事は、windows ユーザにとってはずれているところがあったりと、微妙なところがあるかもしれません。 制限を突破する方法 yt-dlpコマンドのプラグインを使う。 yt-dlpコマンドの以下のオプションを使う。 yt-dlp [urlとか] --cookies [クッキーのテキストファイルのパス] ※ これは自分のGoogleアカウントでyoutubeにログインすると、そのログイン状態を保持するための情報がcookieに入っていることを利用していると思われる。そのログイン情報が悪用される可能性があるかは未知数。。。なので、なるべくサブのアカウントなどの利用を推奨する。 今とにかく動いた方法 なんか最初にやったことから書いたらグダグダになったので、いったんとにかく動作確認ができた方法から記録してみる。 youtubeからcookieを抽出 youtubeにログインし、cookieを抽出可能な拡張機能をインストールして、抽出する。私は、Get cookies.txt LOCALLYという拡張機能を利用した。どうも、yt-dlpは、Netscapeとかいう古のブラウザのcookie形式でしか受け付けないらしく、javascriptでdocument.cookieとかやって得られる情報そのままではだめらしいので、楽な方に流れたという感じ。 yt-dlpでcookieのテキストファイルを指定し、実際に動画をダウンロード yt-dlp [urlとか] --cookies [クッキーのテキストファイルのパス] とにかく、これで一時的に動かすことができたが、セッションが有効期限切れになったりすると、たぶんまた作業をやり直す必要があり面倒である。 cookieのテキストファイルって何? Netscape形式の場合、以下に示すようなものであるよう。 # Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This is a generated file! Do not edit. .youtube.com TRUE / TRUE 1741146319 LOGIN_INFO 何かのデータ .youtube.com TRUE / FALSE 1763243188 SID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-1PSID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-3PSID 何かのデータ .youtube.com TRUE / FALSE 1763243188 HSID 何かのデータ .youtube.com TRUE / TRUE 1763243188 SSID 何かのデータ .youtube.com TRUE / FALSE 1763243188 APISID 何かのデータ .youtube.com TRUE / TRUE 1763243188 SAPISID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-1PAPISID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-3PAPISID 何かのデータ .youtube.com TRUE / TRUE 1764701056 PREF 何かのデータ .youtube.com TRUE / TRUE 1761676825 __Secure-1PSIDTS 何かのデータ .youtube.com TRUE / TRUE 1761676825 __Secure-3PSIDTS 何かのデータ .youtube.com TRUE / FALSE 1761677056 SIDCC 何かのデータ .youtube.com TRUE / TRUE 1761677056 __Secure-1PSIDCC 何かのデータ .youtube.com TRUE / TRUE 1761677056 __Secure-3PSIDCC 何かのデータ .youtube.com TRUE / TRUE 1745681252 VISITOR_PRIVACY_METADATA 何かのデータ .youtube.com TRUE / TRUE 1745681252 VISITOR_INFO1_LIVE 何かのデータ .youtube.com TRUE / TRUE 0 YSC 何かのデータ 以降の内容 これ以降の内容は、単に記録として適当にグダグダ書いてあるので、詳しいことを知りたい人以外には、あまり有用ではない可能性があるということだけはここに書いておく。 ...