Nov, 2019

Télécharger automatiquement une liste de fichiers sur Youtube, et les convertir à la volée.

Toujours à la recherche de petit bout de script marrant et d’automatisation, je suis tombé sur la fonction « recherche » de Youtube-dl, qui marche plutôt pas mal.


Youtube-dl dispose de la fonction peu documentée : « ytsearch » qui permet de faire des recherches automatiquement dans Youtube, ainsi que de télécharger automatiquement le résultat.

Si on ajoute un chiffre, par exemple 5, donc « ytsearch5 », la fonction ira télécharger les 5 premiers résultats de la recherche.

Sous Windows, je me suis écrits le petit script suivant (que j’ai appelé ydlfile) à placer où vous voulez dans votre $PATH.

@echo off
for /f "delims=" %%a in (%1) do youtube-dl -f best -x --audio-format mp3 ytsearch1:"%%a"

Cette simple ligne prend un fichier texte en entrée, dont chaque ligne sera recherchée, téléchargée et convertie en fichier mp3. Plus la recherche est précise, plus vous aurez de chance que le fichier récupéré soit celui que vous vouliez.

Si vous tombez sur le net, par exemple, sur une playlist avec simplement le nom des artiste et le nom d’une chanson, copiez-collez le tout dans un fichier texte, donnez-le à manger au script, et voilà !

Je suis tombé par hasard sur la page de Bon Entendeur, des gens qui font des mixes plutôt sympas en ajoutant des voix de gens géniaux, comme Alexandre Astier ou Blanche Gardin (love absolu sur eux et leur famille pour plusieurs générations). En allant sur leur site, je suis tombé sur une tracklist sans lien.

Un copié-collé plus tard dans un fichier texte (bo.txt par exemple), j’obtiens un truc qui ressemble à ça :

Ensuite un petit ydlfile.bat bo.txt :

Et c’est parti !

Il doit y avoir moyen d’améliorer tout ça, mais je vous laisse le faire.