Mini-tutorial: Descargar canciones de Goear desde GNU/Linux

Acabo de terminar un pequeño script que me permite bajar de forma rápida y cómoda canciones de Goear. Sé que existen extensiones de Firefox o páginas web que lo hacen, pero las que he probado yo hasta ahora tenían la desventaja de que el fichero quedaba guardado con un nombre largo en hexadecimal que poco o nada tenía que ver con el título original de la canción.

Esto para mí suponía un engorro, ya que tras bajar cada canción tenía que dedicarme a ponerle el título correcto.Pues bien, tras pelearme un poco con los bash-scripts he hayado una solución simple en forma de script que, al menos a mí, me resulta bastante útil, ya que permite descargar varias canciones con el título y nombre del artista. Podéis ver a continuación el código del script:


#!/bin/bash
urls=$(zenity --text-info --text="Introduzca la dirección de la canción" --editable)
for url in $urls
do
var=""
xml=""
file=""
artist=""
title=""
id=${url/*listen.php?v=/}
xml="http://www.goear.com/files/sst/secm"$id".xml"
wget $xml -O "."tmp$id
ERROR=$?
if [ "$ERROR" = "1" ];
then
zenity –error –text=”No se pudo descargar la canción: $artist - $title.mp3″&
rm “.”tmp$id
continue
fi
var=$(grep “song path” “.”tmp$id)
file=”${var/*path=\”/}”
file=”${file/\”*/}”
artist=”${var/*artist=\”/}”
artist=”${artist/\”*/}”
title=”${var/*title=\”/}”
title=”${title/\”*/}”
wget $file -O “$artist - $title.mp3″
ERROR=$?
if [ "$ERROR" = "1" ];
then
zenity –error –text=”No se pudo descargar la canción: $artist - $title.mp3″&
rm “.”tmp$id
continue
fi
zenity –info –text=”La canción: $artist - $title.mp3 se ha descargado”&
rm “.”tmp$id
done

Si os interesa la idea y deseais probarlo, no tenéis más que copiar este código en un fichero nuevo al que llamaremos, por ejemplo, Download-Goear. No olvidéis darle permisos de ejecución:

chmod +x Download-Goear

Se puede usar este script invocándolo directamente desde un terminal pero yo os recomiendo que si usais Nautilus como explorador de ficheros, lo coloquéis en el directorio ~/.gnome2/nautilus-scripts ya que así el propio Nautilus lo detectará y podréis ejecutarlo desde el propio Nautilus de forma más cómoda.

Para ejecutarlo desde Nautilus:

  1. Ir a la carpeta en la que deseáis que se descarguen los ficheros.
  2. Abrir el menú contextual de la carpeta y seleccionar la opción Scripts/Download-Goear
  3. En la ventana emergente, escribir una o varias URL de canciones de Goear que deseáis descargar y pulsar el botón cerrar cuando hayais terminado. Ejemplo: http://www.goear.com/listen.php?v=ccbb9a5 http://www.goear.com/listen.php?v=25d458a
  4. El script informará mediante una ventana de información cada vez que haya terminado de descargar uno de los ficheros, o mostrará un mensaje de error si alguno de los ficheros no puede descargarlo.

Sé que es un script un poco cutre, en parte debido a mis escasos conocimientos de scripting, pero cumple con su cometido y no creo que merezca la pena dedicar más tiempo en mejorarlo. Por otro lado el código proporcionado es totalmente libre, sin ninguna restricción, por lo que podéis distribuirlo, modificarlo, venderlo (si es que alguien os compra algo así, jajaja) o hacer con él lo que os venga en gana. Aunque sería de agradecer que si alguien lo mejorase, posteara en los comentarios su nueva versión del código para que todo el mundo pueda beneficiarse y/o aprender de las mejoras

9 comentarios para leer »

  1. Camello dijo,

    Escribió Marzo 18, 2008 @ 3:28 am

    Muy bueno el dato, lo único que en la segunda linea

    urls=$(zenity –text-info

    no funciona (–editable no es una opción del tipo de dialogo) y se reemplaza por

    urls=$(zenity –entry

    Saludos

  2. xelloss dijo,

    Escribió Marzo 18, 2008 @ 11:29 am

    Ala, que raro, a mi me funciona así…

  3. ratoli dijo,

    Escribió Marzo 25, 2008 @ 11:39 pm

    Gracias tio. Te lo has currado!

  4. inar dijo,

    Escribió Agosto 24, 2008 @ 1:35 am

    tambien se puede usar algun servicio como http://www.c0wa.com

  5. xelloss dijo,

    Escribió Agosto 24, 2008 @ 3:53 am

    Vaya!. Cowa!, ese no era uno de tus nicks, Reylimo?, wajajaja.

  6. Reylimo dijo,

    Escribió Agosto 25, 2008 @ 8:22 pm

    Jaja, shsss no reveles mi verdadera identidad!

    Por cierto, gracias Inar por la info

  7. xelloss1012 dijo,

    Escribió Agosto 26, 2008 @ 7:08 am

    Uy!, perdone usted señor hijo de vampiro y de hombre koala, jajaja

  8. Jinme dijo,

    Escribió Octubre 30, 2008 @ 11:00 pm

    Vaya que no funciona, parece que Goear cambio algo, el servicio c0wa si funca.

  9. Reylimo dijo,

    Escribió Octubre 30, 2008 @ 11:12 pm

    Tendré que probar ese c0wa

Comentarios en RSS · TrackBack URI

Deja tu comentario

Nombre:

E-mail:

Website:

                         

Comentario: