Scarica i video di YouTube dall'inizio del batch alla fine del batch che fa parte di una playlist


10

Un video di Youtube può essere visto da solo o potrebbe far parte di una playlist.
Esempio:
https://www.youtube.com/watch?v=vbsNiOkm0BU e
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

Notare la parte vbsNiOkm0BU.

La domanda è ottenere questa parte per tutti i video del canale / playlist.

Il motivo è scaricare tutti i video di questo canale (circa 3600). Ma non ho avuto successo con il youtube-dldownload tutto in una volta.
Quindi desidero scaricarlo in centinaia di centinaia, ad esempio.

Se potessi approfondire questa domanda, posso scrivere uno script bash per scaricare solo determinati indici di una playlist?

Se vedi il link sopra:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Notare la parte &index=141.

Ora se fai qualcosa del genere:

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

Notare la parte &index=${i}.

Questo sta scaricando lo stesso video ancora e ancora, a causa di vbsNiOkm0BU.

Qualsiasi aiuto su questo sarebbe molto apprezzato. Grazie.

Risposte:


14

elenco di riproduzione

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... dove <url-of-playlist>viene sostituito dall'URL della playlist, sostituire FORMATcon qualsiasi formato video disponibile, ad esempio 18, NUMBER-STARTè il numero del video nella playlist per iniziare a scaricare prima, ed NUMBER-ENDè il numero del video nella playlist per scaricare per ultimo .

Canale

Se un canale ha più di una playlist, fai clic sulla prima playlist e scarica tutti i video nella playlist selezionata usando il comando sopra. Quindi ripetere per ciascuna playlist nel canale.

Spiegazione

-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   

-w, --no-overwrites
    do not overwrite files 

Converti tutti i titoli dei video in minuscolo

youtube-dl -f FORMAT -ciw --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/' {} +

Spiegazione

--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.

Grazie! Ha funzionato! Solo un'altra query, posso convertire tutti i titoli dei video in lettere minuscole durante il download? Posso specificare il formato come --output "%(title)s". Posso anche convertirlo in minuscolo?
Rishiraj Surti,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.