質問: ユーザー認証と2faを必要とする動画をyoutube-dlでダウンロードするにはどうすればよいですか? 私のプライベートビデオをダウンロードしようとすると、次のようになります。youtube-dl https://youtu.be/q-xxxx-xxxx [youtube] q-xxxx-xxxx: downloading webpage [youtube] q-xxxx-xxxx: downloading video info webpage warning: unable to extract video title error: this video is unavailable. ユーザー名とパスワードを使用しようとすると、2faで失敗します。youtube-dl --username=me@gmail.com https://youtu.be/q-xxxx-xxxx type account password and press [return]: [youtube] downloading login page [youtube] looking up account info [youtube] logging in type 2-step verification code and press [return]: [youtube] submitting tfa code warning: unable to submit tfa code: http error 400: bad request [youtube] q-xxxx-xxxx: downloading webpage [youtube] q-xxxx-xxxx: downloading video info webpage warning: unable to extract video title error: this video is unavailable. chromeのeditthiscookieでエクスポートされた--cookiesを使用しようとすると、失敗します。chromeのビデオに移動し、クッキーをファイルに入れます。youtube-dl --cookies=cookies.txt https://youtu.be/q-xxxx-xxxx traceback (most recent call last): file "/usr/bin/youtube-dl", line 11, in <module> load_entry_point('youtube-dl==2018.6.14', 'console_scripts', 'youtube-dl')() file "/usr/lib/python3.6/site-packages/youtube_dl/__init__.py", line 472, in main _real_main(argv) file "/usr/lib/python3.6/site-packages/youtube_dl/__init__.py", line 439, in _real_main with youtubedl(ydl_opts) as ydl: file "/usr/lib/python3.6/site-packages/youtube_dl/youtubedl.py", line 414, in __init__ self._setup_opener() file "/usr/lib/python3.6/site-packages/youtube_dl/youtubedl.py", line 2303, in _setup_opener self.cookiejar.load() file "/usr/lib/python3.6/http/cookiejar.py", line 1784, in load self._really_load(f, filename, ignore_discard, ignore_expires) file "/usr/lib/python3.6/http/cookiejar.py", line 2007, in _really_load filename) http.cookiejar.loaderror: 'cookies.txt' does not look like a netscape format cookies fil youtube-dlでプライベートビデオをダウンロードするにはどうすればよいですか?編集:私もアプリのパスワードを試しましたが、何らかの理由でこれも失敗しました:youtube-dl --username=me@gmail.com --password=xxxxxxxxx youtu.be/q-xxxxxxxx [youtube] downloading login page [youtube] looking up account info [youtube] logging in warning: unable to login: invalid password [youtube] q-xxxxxx: downloading webpage [youtube] q-xxxxxx: downloading video info webpage warning: unable to extract video title error: this video is unavailable.
回答: --cookiesルートを使用して非公開動画をダウンロードすることができました。最初にcookieをeditscapecookieのオプションであるnetscape形式にフォーマットする必要がありました。 https://youtube.com だけでなく https://accounts.google.com にもcookieが必要になることに注意してください。 editthiscookie chrome pluginを使用して、これを手動で行う必要があります。次に、editthiscookieで生成されたcookieの形式をcurlで修正する必要がありました。 curl -b oldcookiefile.txt --cookie-jar newcookiefile.txt 'https://youtube.com'など。次に、--cookiesフラグをyoutube-dlと一緒に使用して、非公開動画をダウンロードできます。また、私は ブログ投稿 を作成して、私が学んだことをさらに詳しく説明しました。