Spider[:mp3:]


  • Projet:
    rechercher et récupérer de manière semi-aléatoire(1) des fichiers mp3 sur le net pour alimenter une radio personnelle(2).
    au grand damn de la SACEM, de Pascal NEGRE et de tous les autres industriels de la culture, ces morceaux sont librement télégeargeables, copiables, écoutables, et autrement plus exitants que la sombre daube que le téléchargement sur internet semblent effrayer ces derniers temps.


  • Outils:
    un jeu de scripts écrits en Perl
    • spiderperl:
      le script de récupération des fichiers désirés(3), la recherche peut s'effectuer au choix à partir:
      - d'une requête vers un moteur de recherche (tous les sites d'un nombre configurable de pages réponses seront visités),
      - d'un fichier proposant une liste d'url définies (les sites seront intégralement visités mais seuls les liens internes seront récupéré),
      - d'une url unique (idem ci-dessus),
      - ou de l'adresse d'une page spécifique (et uniquement dans ce cas les fichiers hébergés sur un autre site seront aussi récupérés).
      [le script propose aussi une option permettant à partir d'une page bookmaks (ou d'une page de liens) de récupérer toutes les adresses sous forme de de liste]
    • spiderlink:
      une fois les fichiers recherchés récupérés, ce script visite à nouveau le site pour y récupérer les pages web sur lesquelles les fichiers désirés sont proposés en liens (et conserver ainsi si possible un minimum d'info sur les fichiers).
    • spidercode:
      utilitaire d'encodage, décodage, ré-encodage (wav->mp3 ogg->wav->mp3 mp3->mp3), les fichiers sont conservés sous deux encodages (64kbps-jstereo / 32kbps-mono), les fichiers zippés sont aussi controlés et traités selon le cas, tous les fichiers sont renommés et un log est tenu à jour pour conserver un lien entre le nom d'origine du fichier et le nouveau.
    • spiderweb:
      utilitaire de modification de liens permettant d'obtenir une copie "navigable" des pages récupérées par spiderlink

    (un script spécifique -spideriuma- a été utilisé pour le site iuma.com, et un autre -spidermrr- pour le site maximumrocknroll.com)

  • En cours:
    les fichiers récupérés sont consultables aux adresses
    - [priv.] http://perl.panx.org/spider/spider_radio
    stockage des fichiers encodés / 32 kbps-mono
    - [priv.] http://perl.panx.org/spider/web
    la copie web des pages proposant les fichiers récupérés
    - [priv.] http://perl.panx.org/spider/spider_mp3
    stockage des fichiers encodés / 64 kbps-jstereo

  • Résultats:
    10/06/2004 : lancement projet
    25/06/2004 : 3000 fichiers encodés
    01/07/2004 : 4600 fichiers encodés
    08/07/2004 : 7000 fichiers encodés
    03/10/2004 : plus de 12000 fichiers encodés (mon disque dur implore pitié)

  • Annexes:
    - [priv.] url.log: le log des url visitées par le script.
    - [priv.] file.log: le log des fichiers récupérés (avant un quelconque tri).
    - [priv.] mp3 log: le compteur d'encodage.

  • Ressources:
    - le PC utilisé tourne sous Debian Woody [www.debian.org]
    - les scripts sont écrits en Perl [www.perl.com]
    - la récupération des fichiers est confiée à Wget [www.fsf.org]
    - Unzip dézippe, [www.info-zip.org]
    - la partie traitement et encodage est assurée par Lame [lame.sourceforge.net] à l'exception du décodage ogg qui revient à Sox [sox.sourceforge.net]
    - Normalize [www.cs.columbia.edu/~cvaill/normalize/ ] assurant l'homogénéïté du niveau sonore.

  1. le choix des URL visités se fait soit par requête sur un moteur de recherche (avec mot clé), soit manuellement par l'établissement de liste d'URL.
  2. voir http://www.panx.info (la configuration de la partie diffusion ne fait pas partie de ce projet)
  3. types de fichiers récupérés: mp3, wav, ogg, wma, avi, mpg, wmv, mov, zip.


novembre 2004 - http://resoo.org