quarta-feira, 18 de julho de 2007

Baixando musicas do iJigg

O iJigg é um youtube de mp3, basicamente. É interessante para trocar músicas ou mesmo colocar um pequeno player no seu site, como este:


Escolhi a musica Surfista Calhorda, dos Replicantes. Conheci este site graças a esta dica do dicas-l.

Como todo bom nerd, decidi melhorar a dica, provendo um script para isso.

#!/bin/bash
[ -z "${1}" ] && { echo "usage: $0 < ijigg URL | ID >" ; exit 1 ; }
ID=${1##*/}
CMD='/Location\|Title/{s/<[^>]\+>//g;p}'
URL="http://www.ijigg.com/cgi-bin/loadSongData.cgi?songID=${ID}"

set - $( wget -q -O - "${URL}" | sed -n "${CMD}" | tr '\n ' '\t_' )

wget ${1} -O "${2%.mp3}.mp3"


Ao executar e passar a URL ou ID da música como argumento, eu faço uma busca no site atras de informações sobre a mesma (veja variavel URL). Esta consulta é um xml que retorna a localização do arquivo mp3 e do seu nome. Faço uns malabarismos com SED -- que nem são tão complicados assim -- e obtenho a url direta para baixar o arquivo e o seu nome em um bom formato (troco os espaços do nome por '_' -- para permanecer os espaços no nome tem q fazer mais uns malabarismos...).

Nesse caso:
$ ./ijigg.sh http://www.ijigg.com/songs/V2DA7ADPD
--15:10:05-- http://staticmdb-001.ijigg.com/songdata04/...
=> `Replicantes_-_Surfista_calhorda.mp3'
...
15:10:55 (33.26 KB/s) - `Replicantes_-_Surfista_calhorda.mp3' saved

Agora basta ouvir no seu player preferido.

Nenhum comentário: