Como o youtube-dl pode baixar vídeos que exigem autenticação do usuário e 2FA? [fechadas]

1

Quando tento fazer o download dos meus vídeos privados, recebo o seguinte:

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.

Quando tento usar nome de usuário e senha, ele falha no meu 2FA.

youtube-dl [email protected]  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.

Se eu tentar usar --cookies exportado com o EditThisCookie no Chrome, ele também falhará. Eu exportei indo ao vídeo no Chrome e copiando os cookies em um arquivo.

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

Como posso baixar meu vídeo privado com o youtube-dl?

EDITAR:

Eu também tentei uma senha de app, mas por algum motivo isso também falhou para mim:

youtube-dl [email protected] --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.
    
por Dave Parrish 22.06.2018 / 15:43

1 resposta

4

Consegui fazer o download de vídeos privados usando a rota --cookies . Eu tive que primeiro formatar os cookies para o formato Netscape, que é uma opção no EditThisCookie. Lembre-se de que você não precisará apenas dos cookies para o link , mas também para o link . Você terá que fazer isso manualmente com o plugin EditThisCookie Chrome.

Em seguida, precisei corrigir o formato dos cookies gerados com EditThisCookie com curl . Algo como: curl -b oldcookiefile.txt --cookie-jar newcookiefile.txt 'https://youtube.com' .

A flag --cookies pode ser usada com o youtube-dl para fazer o download de vídeos privados.

Eu também criei um blog postar descrevendo o que eu aprendi com mais detalhes.

    
por 22.06.2018 / 17:51