Obtenha o link de exibição de todos os vídeos de um canal do YouTube

9

Um vídeo do Youtube pode ser visto de maneira independente ou pode fazer parte de uma lista de reprodução.
Exemplo: link e link

Observe a parte vbsNiOkm0BU .

A questão é obter essa parte para todos os vídeos do canal / playlist.

O motivo é baixar todos os vídeos deste canal (aproximadamente 3600). Mas eu não tenho sucesso com youtube-dl fazendo o download de uma só vez.
Então, eu gostaria de baixá-lo em um monte de 100, como um exemplo.

Se eu pudesse levar essa questão adiante, posso escrever um script bash para baixar apenas índices específicos de uma lista de reprodução?

Se você encontrar o link acima: link
Observe a parte &index=141 .

Agora, faça algo assim:

for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done

Observe a parte &index=${i} .

Isso está fazendo o download do mesmo vídeo várias vezes, devido a vbsNiOkm0BU .

Qualquer ajuda sobre isso seria muito apreciada. Obrigado.

    
por Rishiraj Surti 07.12.2016 / 11:29

1 resposta

12

Lista de reprodução

youtube-dl -f FORMAT -cit --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... onde <url-of-playlist> é substituído pelo URL da lista de reprodução, substitua FORMAT por qualquer formato de vídeo disponível, por exemplo 18 , NUMBER-START é o número do vídeo na lista de reprodução para iniciar o download primeiro, e NUMBER-START é o número do vídeo na lista de reprodução para download por último.

Canal

Se um canal tiver mais de uma lista de reprodução, clique na primeira lista de reprodução e baixe todos os vídeos da lista de reprodução selecionada usando o comando acima. Em seguida, repita para cada lista de reprodução no canal.

Explicação

-f, --format FORMAT
    video format code. The -F option (capital F) displays all available video  
    formats for a video link. Example: youtube-dl -F <url-of-video>

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos  
    in a channel  

-t, --title
    use title in file name (default) 

Converter todos os títulos de vídeo em minúsculas

youtube-dl -f FORMAT -ci --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>     
find -type f -exec rename 'y/A-Z/a-z/' {} +

Explicação

--output '%(title)s.%(ext)s'  
    output file name(s) as the name of the video, followed by a dot character  
    and the video's extension  
find -type f 
    Find all files.
y/source/destination/  
    Transliterate the characters in the pattern space which appear in source   
    to the corresponding character in destination.
    
por karel 07.12.2016 / 11:34