Obteniendo datos de Last.fm con php

Obteniendo datos de Last.fm con php

He escrito una miniguia para conectarse a los webservices de Last.fm y poder recoger información nuestra como por ejemplo la lista de temas preferidos, las canciones mas escuchadas, y muchas cosas mas. Para ello usaremos php.

En un script de 7 linias podremos conectarnos al webservice y recoger los datos y hacer un echo para mostrarlo por pantalla.

Haz click en leer mas si quieres verlo.

PD: Hay un Tutorial Mejorado y Ampliado en el blog de Carlos Martínez aquí

Obteniendo datos de Last.fm con php

He escrito una miniguia para conectarse a los webservices de Last.fm y poder recoger información nuestra como por ejemplo la lista de temas preferidos, las canciones mas escuchadas, y muchas cosas mas. Para ello usaremos php.

En un script de 7 linias podremos conectarnos al webservice y recoger los datos y hacer un echo para mostrarlo por pantalla.

Haz click en leer mas si quieres verlo.

PD: Hay un Tutorial Mejorado y Ampliado en el blog de Carlos Martínez aquí

 

Obteniendo datos de Last.fm con php

El objetivo de esta mini guía, es como obtener datos del webservice de Last.fm y poderlos mostrar en nuestra web.
Hay varias maneras de obtener esos datos. Dado que podemos conectarnos a un webservice, cualquier implementación de por ejemplo, xmlrpc nos bastará. Las tenemos en c, en java, php… casi cualquier lenguaje imaginable.
En esta guía usaremos php ya que es el lenguaje orientado a webs más usado. Más adelante haré una versión java, pero ya veréis como no cambia mucho.

¿Qué necesitamos?

Empecemos

Lo primero de todo será decidir que webservices nos interesan. Vamos a la web y miramos información sobre ellos.
En este caso he decidido hacerlo sobre la lista de 10 pistas reproducidas últimamente. Seleccionamos el Plain Text como marca la flecha y se nos mostrará una web con las últimas 10 canciones escuchadas. Ahora deberemos parsear esa información en el código php y la tendremos lista para mostrarla.

Seleccion del Webservice

Perfecto, vamos al código

".str_replace("?","-",$vectorPista[1])."";
}
?>

Como podemos ver el código es bastante simple.
Definimos el usuario del que queremos obtener los datos. Este usuario obviamente ha de estar registrado en Last.fm, en caso contrario no nos devolverá nada. (Bueno si, una página de error).

Usaremos get_file_contents que es una función incorporada de php para obtener el contenido de un fichero. Si os fijáis esta dirección coincide con la que os comentaba anteriormente, la que hemos obtenido antes, simplemente cambiando el usuario por defecto que es “RJ” por el nuestro, fijado en la variable usuario.

Obtenemos la codificación en UTF-8 de la string que hemos conseguido antes. Esto evitará que nos salgan caracteres ilegibles.

Partimos las líneas del fichero por el carácter de salto de línea “n”. Esto nos devolverá en $pista un vector con 10 Strings que serán nuestras canciones.

Hacemos un recorrido sobre cada una de las 10 Strings del vector. La estructura de cada línea es como la siguiente:

   1209158147,Travis  ? All I Want to Do Is Rock

Es decir tenemos un timestamp, separado por una coma el intérprete y separado de un interrogante la canción. Como el interrogante queda feo, lo cambiaremos por un guión.

Ahora lo primero es partir esta cadena de teto en dos más, Partiremos por la coma, de manera que tendremos en $vectorPista[0] la primera parte de la cadena, antes de la coma, es decir el timestamp y en $vectorPista[1] el autor y el titulo.

   $vectorPista[0] = 209158147
$vectorPista[1] = Travis ? All I Want to Do Is Rock

Por supuesto obviaremos la primera parte, ya que no nos interesa.

Por último cogeremos la parte que nos interesa, es decir $vectorPista[1] y reemplazaremos el carácter “?” por un “-“. Esto lo hacemos con la función de php str_replace. El primer parámetro es el carácter a buscar, el segundo es el nuevo carácter, y el tercer parámetro es donde hemos de hacer la sustitución, en nuestro caso en la cadena $vectorPista[1].

Pues ahora tan solo queda mostrarlo en pantalla. Esta con un tag HTML <li> que es una lista de tal manera que salgan como si fuera un índice con el carácter · delante.

El resultado es el siguiente:

 

Resultado