Descargando la música de GoEar.com
- ESTE ARTICULO ES CON FINES EDUCATIVOS -
GoEar es un sitio que alguno consideran *El YouTube de la Música*, pero cabe mencionar que no tiene nada que ver con YouTube. Esta comparación surge a que GoEar funciona al mismo estilo de YouTube; puedes buscar música, escucharla desde la web, puedes subir tus propias canciones; compartir los enlaces, incrustar un reproductor de alguna canción en tu web, etc.
Bueno, yo usualmente utilizaba el servicio de DownMusic para descargar la música de GoEar, pero, debido a algunos cambios que realizo GoEar, esta y muchas otras páginas y programas para descargar la música dejaron de funcionar. Así que, decidí mirar el código fuente de las páginas de GoEar, para ver si por ahí se miraba donde se alojan las canciones, y me encontré con lo siguiente:
Tomando como base la siguiente canción: http://www.goear.com/listen.php?v=254f84d
El Reproductor de GoEar
El reproductor de las canciones, ubicado en http://www.goear.com/ files/local.swf recibe como parámetro la variable file, cuyo valor es el ID de la canción que estamos escuchando.
El ActionScript
Seguido de esto, decidí descargarme el reproductor y mirar un poco; lo que me interesaba era el ActionScript, así que una búsqueda rápida en Google me llevo a un software llamado Flare, el cual extrae únicamente el ActionScript de cualquier archivo SWF. Mirando entre las 741 líneas del código del reproductor, me encontré con esto:
Archivos XML
Todo es tan sencillo, el reproductor lee un archivo XML de donde obtiene la información que necesita. El archivo XML en concreto para nuestra canción de ejemplo sería:
my_str = "254f84d"; mySubstring = "2"; data_xml.load('files/xmlfiles/2/secm254f84d.xml');
Y tenemos .... http://www.goear.com/files/xmlfiles/2/secm254f84d.xml
Al mirar el archivo XML, me di cuenta del "secreto" para descargar las canciones, y de la infinidad de formas en las que se podría hacer un script o programa al cual simplemente le dieras el enlace o el ID de la canción en GoEar y este te descargara la canción.
PHP + SimpleXML
Como yo soy "fan" de las aplicaciones web, decidí hacerme mi propio script en PHP usando SimpleXML para procesar el archivo XML:
<?php # listen.php if($_GET['v']) { $my_str = $_GET['v']; $mySubstring = substr($my_str, 0,1); $load = 'files/xmlfiles/'.$mySubstring.'/secm'.$my_str.'.xml'; # Leer el XML $xml = @simplexml_load_file('http://www.goear.com/'.$load); if ($xml) { $path = $xml->song['path']; $artist = $xml->song['artist']; $title = $xml->song['title']; $name = $artist.' - '.$title.'.mp3'; # Descargar header('Content-type: audio/mpeg'); header('Content-Disposition: attachment; filename="'.$name.'"'); $file = fopen($path, 'r'); fpassthru($file); } else { echo 'Error al leer el archivo XML'; } } ?>
Para usar el script, reemplazaríamos www.goear.com en la URL, por el "lugar" donde lo hayamos alojado, en mi caso:
http://www.goear.com/listen.php?v=254f84d por http://localhost/listen.php?v=254f84d
El resultado:
Estoy pensando que sería mejor llevar esto a una aplicación de escritorio, donde le puedas dar una lista de URLs de GoEar y te descargue todas las canciones ...ya veré si en estos días lo hago.
Saludos.
28ago
Usando GoEar sin GoEar


TABLA - FUENTES - FONTS
Disculpen las Molestias
