Amigos, les dejo el siguiente script que hice en bash para bajar música de goear, basándome en un par que encontré en la web y que ya no funcionaban. Les hice unas cuantas mejoras, para hacerlo más fácil de usar y práctico.
Entre sus funcionalidades, destacan:
- Ya no es necesario conocer el ID del mp3, el script se encarga de buscarlo
- Es posible realizar búsquedas a partir del nombre del tema, del nombre del artista o de ambos a la vez (incluso poniendo sólo parte del nombre)
- Podemos elegir la cantidad máxima de resultados a buscar
- El script se encarga de renombrar el archivo luego de descargarlo, con el nombre del tema y del artista
y algún que otro detalle más...
Copien el contenido del archivo que se encuentra más abajo y péguenlo en un editor de texto. Guardenlo con extensión .sh en la carpeta que deseen.
Luego hacen clic con el botón derecho sobre el ícono => propiedades => permisos y activan la casilla "Permitir ejecutar el archivo como un programa"
Listo. Ahora, para ejecutarlo, hacemos clic sobre el archivo y luego en el botón "Ejecutar en un terminal"
Espero les agrade.
---------------------------------------------------------------------
dijo:
#!/bin/bash
# Script para descargar música de www.goear.com
# Creado por kazad0r basado en los siguientes: http://www.taringa.net/posts/linux/4749240/Bajar-Musica-Goear-%28Bash-Script%29.html y http://github.com/maraujop/GoearBestMatch/blob/master/GoearBestMatch.sh (Creditos a sus respectivos autores)
# --------------------------------------------------------------------------------------------------------------------------
# configurar la búsqueda
clear
echo 'Introduzca el título de la canción a buscar y/o el nombre del artista'
echo ' '
read SONG
clear
echo 'Pesione ENTER para realizar la búsqueda por defecto (hasta 10 resultados), '
echo 'o ingrese un número mayor para intentar una búsqueda más amplia'
echo '(sólo múltiplos de 10).'
echo ' '
read NUMBER
let x="$NUMBER/10"
SONGID=(`echo $SONG | tr ' ' '+'`)
if `test $SONGID`
then
clear
echo 'Buscando...'
echo ' '
# buscar las palabras clave ingresadas y guardar los resultados en archivos temporales
wget -q http://www.goear.com/search.php?q=$SONGID
cat search.php?q=$SONGID | egrep -o 'class="b1">[^<]*</a>' | cut -f 2 -d '>' | cut -f 1 -d '<' >>1
cat search.php?q=$SONGID | egrep -io '<div style="color:[^;]*;font-size:11px;padding-left:13px;">[^<]*</div>' | cut -f 2 -d '>' | cut -f 1 -d '<' >>2
cat search.php?q=$SONGID | egrep -o "listen/([[:digit:]]|[[:alpha:]])*/" | cut -f 2 -d "/" | cut -f 1 -d '/' >>3
a=1
while [ $a -lt $x ]; do
wget -q http://www.goear.com/search.php?q=$SONGID'&'p=${a}
cat search.php?q=$SONGID'&'p=$a | egrep -o 'class="b1">[^<]*</a>' | cut -f 2 -d '>' | cut -f 1 -d '<' >>1
cat search.php?q=$SONGID'&'p=$a | egrep -io '<div style="color:[^;]*;font-size:11px;padding-left:13px;">[^<]*</div>' | cut -f 2 -d '>' | cut -f 1 -d '<' >>2
cat search.php?q=$SONGID'&'p=$a | egrep -o "listen/([[:digit:]]|[[:alpha:]])*/" | cut -f 2 -d "/" | cut -f 1 -d '/' >>3
let a=a+1
done
# imprimir los resultados de la búsqueda en la pantalla
clear
echo 'Resultados encontrados:'
echo ' '
i=1
while read linea ; do
cancion[$i]=${linea}
i=$(($i+1))
done <<< "`cat 1`"
o=1
while read linea ; do
artista[$o]=${linea}
o=$(($o+1))
done <<< "`cat 2`"
p=1
while read linea ; do
ident[$p]=${linea}
p=$(($p+1))
done <<< "`cat 3`"
if [ -s 3 ]
then
n=1
while [ $n -lt $i ]; do
echo -e "$n - ${cancion[$n]}, ${artista[$n]}"
let n=n+1
done
echo ' '
echo 'Introduzca el número correspondiente a la cancion deseada, (o presione ENTER para cancelar):'
echo ' '
read SONG1
wget -q http://www.goear.com/tracker758.php?f=${ident[$SONG1]} -O "${ident[$SONG1]}.xml"
# Comprobar que la opción ingresada no es nula y que no sea un núm mayor que el núm de resultados hallados
if [ ! -z $SONG1 ]
then
if [ $SONG1 -lt $i ]
then
# Realizar la descarga seleccionada
echo 'Descargando... Por favor espere.'
SONGPATH=`grep -o "http://.*mp3" ${ident[$SONG1]}.xml`
ARTIST=`awk -F'"' '{ print $10 }' ${ident[$SONG1]}.xml`
TITLE=`awk -F'"' '{ print $12 }' ${ident[$SONG1]}.xml`
wget $SONGPATH -O "$ARTIST - $TITLE.mp3"
echo 'Terminado.'
echo 'La descarga ha finalizado satisfactoriamente.'
else
echo 'La opción ingresada no es válida. Operación cancelada'
fi
else
echo ' '
echo 'Operación cancelada.'
echo ' '
fi
else
echo 'Sin resultados.'
echo ' '
fi
# borrar los archivos temporales
rm 1
rm 2
rm 3
rm search.php?q=$SONGI*
rm -f ${ident[$SONG1]}.xml
else
echo 'No hay nada que buscar. Operación cancelada'
echo ' '
fi
echo 'Presione ENTER para salir'
read SALIR
exit 0
O también pueden descargar el script listo para ejecutar aquí:
http://www.megaupload.com/?d=0FQMR87C
Pesa 3.67 kB

Saludos!!
No hay comentarios:
Publicar un comentario