3. Probando la API de TasteDive¶
TasteDive es una herramienta que:
le ayuda a descubrir nueva música, películas, programas de televisión, libros, autores, juegos, podcasts y personas con intereses compartidos. – TasteDive
En el siguiente ejercicio usaremos la API de TasteDive para buscar obras o artistas similares a otra de nuestra elección. La documentación de la API de TasteDive.
En este caso, utilizaremos la librería requests
para hacer la solicitud a la API. La url base
es "https://tastedive.com/api/similar"
. A esta url se le va a pasar un parámetro q
con el
valor de la artista Ariana Grande. Al final la url se va a ver de la siguiente forma: "https://tastedive.com/api/similar?q=ariana+grande"
.
Note que después de la url base se escribe un ?
para indicar que siguen los parámetros.
En el ejemplo anterior pudo apreciar que la API regresa un texto, que si lo pasamos por json.loads
se transforma a un diccionario de Python. Sin embargo, no es del todo legible. Esto se puede solucionar con
json.dumps
.
Ahora vamos a solicitar información de la banda Coldplay. Esta vez vamos a imprimir los datos de forma
que sean legibles. Esto lo hacemos con el argumento indent
de la función dumps
de json
.
Vamos a usar urllib
para hacer la solicitud.
El siguiente ejercicio viene con calificación automática.
Ahora va a preguntar a TasteDive por la película Coco. Entonces el diccionario parametros
debe tener el
valor "Coco"
asignado a la llave "q"
. Además, esta vez solo queremos 5 resultados en vez de 20. Para
esto existe un parámetro llamado "limit"
, que puede ser asignado al número de resultados que se necesiten.
Otro parámetro que le pasará a la url será "info"
y tendrá el valor de 1. Lo que hará esto es que los
resultados vendrán con un texto extra con información sobre la película.
Primero, va a solicitar a la API lo descrito anteriormente, y guardará esto en la variable solicitud
. En
otra variable, solicitud_url
, guarde la url de la solicitud. Después asignará los datos a la variable datos
.
Después va asignar a la variable resultados
el número de resultados que arrojó la solicitud
(como se hizo en el ejemplo anterior). Como pusimos un límite, este número debe coincidir con el límite.
Ahora va a crear la lista peliculas_similares
. Dentro de datos
usted tiene un diccionario de diccionarios
y listas. Lo que hará será buscar los conjuntos dentro de los cuales se encuentren los nombres de las películas
similares a Coco, y va a agregar a peliculas_similares
el nombre de esas películas. En total deben ser 5.
Pista: los datos de las películas se encuentran dentro de datos["Similar"]["Results"]
, y la llave para
acceder a ellas es "Name"
.
Por último, va a buscar el número de veces que aparece la palabra "Pixar"
en los textos de información de las
películas relacionadas a Coco. Ese número lo va a guardar en la variable pixar
. Pista: "wTeaser"
es la
llave que guarda el texto. Esta llave se encuentra en el mismo diccionario que el nombre de las películas.