Eu costumava baixar vídeos usando a ferramenta de linha de comando youtube-dl, nos últimos dois dias, sempre que tento baixar qualquer vídeo, recebo um erro, como mostrado abaixo.
$ youtube-dl https://www.youtube.com/watch?v=bFew8mgQJ9o
[youtube] Setting language
[youtube] bFew8mgQJ9o: Downloading video webpage
[youtube] bFew8mgQJ9o: Downloading video info webpage
[youtube] bFew8mgQJ9o: Extracting video information
Traceback (most recent call last):
File "/usr/bin/youtube-dl", line 4645, in <module>
main()
File "/usr/bin/youtube-dl", line 4636, in main
_real_main()
File "/usr/bin/youtube-dl", line 4620, in _real_main
retcode = fd.download(all_urls)
File "/usr/bin/youtube-dl", line 869, in download
ie.extract(url)
File "/usr/bin/youtube-dl", line 1135, in extract
return self._real_extract(url)
File "/usr/bin/youtube-dl", line 1406, in _real_extract
url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data)
File "/usr/bin/youtube-dl", line 1406, in <genexpr>
url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data)
KeyError: 'sig'
o que está acontecendo?
python
youtube-dl
kernel_panic
fonte
fonte
Respostas:
Tinha exatamente o mesmo problema.
Atualizado youtube-dl via:
Execute o youtube-dl via sudo
sudo youtube-dl
e informará que eles mudaram a distribuição e precisam atualizar. Pressione enter e você deve estar pronto.fonte
Você precisa exportar suas configurações de proxy antes de poder usar
youtube-dl
para baixar vídeos do youtube. Para fazer isso, exporte as configurações de proxy usando:Substitua nome de usuário, senha, host e port_no pelas suas respectivas variáveis. Lembre-se de substituir qualquer caractere especial, se houver, no seu nome de usuário ou senha pelos códigos HTML. Ignore o nome de usuário e a senha se você não tiver um e exporte-os como:
etc.
Por exemplo:
Você também pode escrever isso em seu
~/.bashrc
arquivo para evitar gravá- los repetidamente para sessões futuras.Tente baixar novamente os vídeos depois de fazer isso.
fonte
Quando tentei atualizar com o sudo, como indicado na outra resposta:
Recebi uma mensagem dizendo que o youtube-dl havia sido instalado usando um gerenciador de pacotes e eu deveria usar o mesmo para atualizá-lo. Mas eu já tinha feito
No final, apenas usando o sudo para executá-lo funcionou.
fonte
Instale
youtube-dl
com asudo apt-get install youtube-dl
partir da linha de comando e use:Certifique-se de usar
sudo
antes do comando acima!fonte