tacosdedatos

Isaac Arroyo
Isaac Arroyo

Posted on • Updated on

Spotipy: ¿Qué es? ¿Cómo se usa? ¿Con qué se come?

Pequeña e informal introducción

No soy muy fan de las API's por el simple hecho de que siempre me revuelvo al hacer solicitudes, y a pesar de que hay muchos videos y tutoriales, en algún punto me revuelvo y me frustro. Es por eso que cuando encuentro algún tutorial en español o con un idioma casi for dummies me emociono 🥺

Para la API de Spotify no fue el caso, pero encontré algo similar, una paquetería de Python que facilita las peticiones 🤙 Aquí es cuando les presento Spotipy.

En esta serie de pequeños y (espero) rápidos tutoriales, les mostraré cómo uso la API, que es principalmente para obtener características de las canciones (audio features).

Este primer tutorial se enfocará principalmente en saber instalar la librería, crear un proyecto y obtener nuestras primeras canciones.

Primero lo primero: Instalación

Como muchas otras librerías (y cómo menciona la documentación oficial de Spotify, la cual la puedes ver al dar click en esta oración) se instala de la siguiente manera:

pip install spotipy
Enter fullscreen mode Exit fullscreen mode

y para actualizarlo:

pip install spotipy --upgrade
Enter fullscreen mode Exit fullscreen mode

Creación de un Client ID y Client Secret

Para echar a andar nuestras peticiones, tenemos que tener un Client ID y Client Secret, algo así como un usuario y contraseña del proyecto.

Para obtenerlos tenemos que seguir los siguientes pasos:

1. Registrarnos en Spotify for Developers

El primer paso es entrar a https://developer.spotify.com/ y darle click a Dashboard (elipse roja de la imagen)

Lo siguiente será crear una cuenta de Developer en dado caso de que no tengamos una (rectángulo rojo de la imagen).

2. Crear nuestra App o Proyecto

Para crear nuestra App o Proyecto, se puede de dos maneras:

  1. Dando click en los rectángulos de línea punteada (rectángulo rojo de la imagen).
  2. Dando click en el botón de Create an App (rectángulo naranja de la imagen).

Para crear la app tendremos que proporcionar un nombre y una breve descripción

3. Obtener las claves mágicas (Client ID y Client Secret)

Con la App/Proyecto creado ahora si... VAMOS POR LAS CLAVES. Debajo del nombre y descripción del proyecto podrás encontrar el Client ID (rectángulo rojo de la imagen) el cual vamos a copiar y guardar en un lugar seguro. Seguidamente dar click en Show Client Secret (rectángulo naranja de la imagen) para copiar y guardar en un lugar seguro el código que aparezca.

Obtener el identificador de un álbum musical

Todo elemento (por así decirle) que se encuentre en Spotify tine un URI, y esto nos ayudará a obtener su información.

Para obtener el URI de un albúm musical vamos a tener que entrar a la aplicación de escritorio de Spotify, buscar el álbum deseado (en este caso estaré usando el álbum "Harry's House" del poderosísimo Harry Styles) y darle click a los tres puntitos ➡️ Compartir/Share ➡️ presionar option ⌥ (macOS) o control Crtl (en Windows) ➡️ Copy Spotify URI, como se muestra en la imagen.

Copiar el URI y guadarlo en algún lado porque en un momento vamos a usarlo

Obtener las canciones del álbum musical

Ahora abrimos una jupyter notebook (o el IDE en el que te sientas cómodx) y escribimos el siguiente código

import spotipy
from spotipy.oauth2 import SpotifyClientCredentials


clientID = 'CLIENT_ID'
clientSecret = 'CLIENT_SECRET'

client_credential_manager = SpotifyClientCredentials(client_id=clientID, client_secret=clientSecret)
sp = spotipy.Spotify(client_credentials_manager=client_credential_manager)

dict_harrys_house = sp.album_tracks('spotify:album:5r36AJ6VOJtp00oxSkBZ5h')
list_info_harrys_house_canciones = dict_harrys_house['items']

for cancion in list_info_harrys_house_canciones:
    print(cancion['name'])
Enter fullscreen mode Exit fullscreen mode

y el resultado debe ser el siguiente

Music For a Sushi Restaurant
Late Night Talking
Grapejuice
As It Was
Daylight
Little Freak
Matilda
Cinema
Daydreaming
Keep Driving
Satellite
Boyfriends
Love Of My Life
Enter fullscreen mode Exit fullscreen mode

Despedida y últimas palabras

En este tutorial:

  1. Instalamos Spotipy
  2. Creamos nuestra cuenta de Developer en Spotify
  3. Creamos nuestra App/Proyecto y obtuvimos el Client ID y Client Secret
  4. Obtuvimos el URI de un álbum musical
  5. Corrimos un código para obtener las canciones de ese álbum musical

En el siguiente tutorial explicaré un poco más a fondo que fue lo que hicimos en el último bloque de código, así como las operaciones y estructuras de datos que vamos a estar manejando.

Por el momento es todo. Si usas la API de Spotify para otras cosas te invito a que escribas un tutorial para la comunidad, o si no sientes que escribir un tutorial es lo tuyo o no tiene tiempo, escríbeme, me enseñas y me encargo de hacer el tutorial 🤓

Me puedes enviar un DM por twitter @unisaacarroyov 🐦

Repositorio (jupyter notebook)

Da click aquí para ver la Jupyter notebook de todo este proceso.

Discussion (3)

Collapse
champoo200 profile image
Hassel Yabin Aguilar Chamu

Es posible obtener los datos de preproducción de algunas canciones? , estoy leyendo la documentación y no encuentro algo parecido no se si se me haya escapado algo xD

Collapse
unisaacarroyov profile image
Isaac Arroyo Author

hijole... no sé 😅 no recuerdo ahorita todas las características/propiedades que tiene cada canción pero husmeando la documentación de Spotify igual no pude encontrar algo similar. Lo más cercano es el lanzamiento del álbum

Collapse
champoo200 profile image
Hassel Yabin Aguilar Chamu

Gracias por la respuesta!!