bash:playlist_de_webradios_anime
Ceci est une ancienne révision du document !
Playlist de webradios anime
Le répertoire Xiph, résultats pour « anime »: et si on se faisait une compil’ de ces webradios, tout dans une liste de lecture, 1 seul stream par radio ? J’ai un peu tâtonné jusqu’à obtenir exactement ce que je voulais. Mais voilà: Une fois exécuté, ce script sort un fichier “Anime_mix.xspf” contenant 1 stream par webradio, à ouvrir dans un lecteur comme VLC :) Au moment où j'écris ça, c'est une playlist de 25 streams qu'on obtient.
- on récupère les 2 pages de résultats avec wget (on peut ajouter le téléchargement de 3, 4… autant de pages de résultats qu'il faut)
- on fusionne ces pages en 1 seule, et on enlève les 2 pages individuelles
- on “attrape” le lien vers les listes de lecture dans la page, et on le transforme en lien absolu
- on crée un dossier et on y récupère avec wget toutes les listes de lecture trouvées
- pour chaque liste de lecture dans le dossier, on extrait uniquement la première référence de piste (track) car beaucoup de radios ont plusieurs pistes sur des serveurs différents
- on “reconstruit” une liste de lecture avec toutes les références de pistes
- et on nettoie les fichiers de travail
Le fichier de sortie est un peu barbare (pas de retour à la ligne entre les pistes, pas de titre ni info,..) mais VLC le traite sans problème ;) Adaptez selon vos besoins (mot clé de la page de résultats, nombres de pages à scanner, type de playlist à sortir…).
- playlist.run
#!/bin/bash wget -O page1 "http://dir.xiph.org/search?search=anime" wget -O page2 "http://dir.xiph.org/search?search=anime&page=1" cat page1 page2 > page rm page1 page2 grep -o /listen/[^[:space:]]*/listen.xspf page | sed -e "s/\/listen/http:\/\/dir.xiph.org\/listen/" > radios mkdir temp while read line; do wget -O "temp/`date +%s%N`" "$line" ; done < radios for file in temp/*; do grep -m 1 -o "<track><location>[^[:space:]]*</location></track>" $file >> track ; done streams=`cat track` echo '<?xml version="1.0" encoding="UTF-8"?><playlist version="1" xmlns="http://xspf.org/ns/0/"><title>Mix</title><info></info><trackList>'$streams'</trackList></playlist>' > Anime_mix.xspf rm track radios page rm -rf temp
bash/playlist_de_webradios_anime.1338236146.txt.gz · Dernière modification : 2013-02-19 20:28 (modification externe)