Scarica video dalla playlist di youtube o dall’utente in base alla data

Posso fare un download datato di video di YouTube di particolari utenti o playlist usando youtube-dl?

Ad esempio: scarica tutti i video caricati dall’utente X in questa settimana.

Cerchi la possibilità di scaricare video di YouTube da un canale / utente / playlist con data di inizio e data di fine.

Sì. Dalla pagina man di youtube-dl:

--date DATE Download only videos uploaded in this date --datebefore DATE Download only videos uploaded on or before this date (ie inclusive) --dateafter DATE Download only videos uploaded on or after this date (ie inclusive) 

Non indicato lì, ma solo nascosto nel codice, è che la DATE è nel formato YYYYMMDD o (now|today)[+-][0-9](day|week|month|year)(s)? , quindi ad esempio il 17 agosto 2016 sarebbe il 20160817 , e sette giorni fa sarebbe now-7days o now-1week .

Puoi specificare un intervallo usando --datebefore e --dateafter insieme, quindi:

 youtube-dl -i --dateafter 20160808 --datebefore 20160810 https://www.youtube.com/channel/CHANNEL 

scaricherà tutti i video da un canale caricato tra l’8 agosto e il 10 agosto 2016 e:

 youtube-dl -i --dateafter now-1week https://www.youtube.com/playlist?list=PLAYLIST 

scaricherà tutti i video da una playlist caricata nell’ultima settimana.

L’opzione -i impedisce a youtube-dl di uscire prematuramente se alcuni video non sono disponibili.

Nota youtube-dl continua a dire che sta scaricando ogni video anche quando non lo è. Per esempio:

 [download] Downloading video 1 of 123 [youtube] xxxxxxxxxxx: Downloading webpage [youtube] xxxxxxxxxxx: Downloading video info webpage [youtube] xxxxxxxxxxx: Extracting video information [youtube] xxxxxxxxxxx: Downloading MPD manifest [download] 2016-08-07 upload date is not in range 2016-08-08 - 2016-08-10 [download] Downloading video 2 of 123 ...