5.3 Comunicación a través de Internet: Librería json

 En el punto anterior, vimos cómo consultar un sitio de Internet utilizando la biblioteca requests. 

Vamos a usarla ahora para consultar un sitio específico. En el sitio del Gobierno de la Ciudad de Buenos Aires, hay una API (Application Programming Interface) que nos permite consultar domicilios de todo el AMBA. Esto es, nosotros le ingresamos una calle y un número, y nos devuelve la dirección correctamente escrita, si dicha dirección se repite en diferentes localidades del AMBA, sus coordenadas geográficas, etc. Toda esta información la devuelve en el formato json (JavaScript Object Notation) que es un formato de intercambio de información muy común en Internet. Para leerlo, utilizaremos la biblioteca de Python json, que convierte dicho formato a un diccionario, que podemos utilizar para trabajar en Python.

Veamos como funciona este sitio:


En las dos primeras líneas, importamos las dos bibliotecas que vamos a usar, que son requests y json. Luego definimos el string url que contiene la dirección de la API del gobierno de la ciudad, y le pedimos al usuario que ingrese su domicilio.

Luego, en la línea 7 llamamos a la API con la función get de la librería requests, tal como vimos en el punto anterior. El string que se pasa como parámetro contiene tanto la dirección del sitio como el domicilio que ingresó el usuario.

Ya sabemos que podemos ver la respuesta utilizando la función content de la librería requests. La API del gobierno de la ciudad devuelve el resultado en formato json. En la línea 9 utilizamos la función json.loads para convertir dicha respuesta en el diccionario dic

Dicho diccionario va a tener una lista llamada "direccionesNormalizadas" que contiene todas las ubicaciones que se corresponden con dicho domicilio.

Si la cantidad de direcciones que hay en la lista es por lo menos una, mostramos en qué localidades están dichas direcciones. Si no, mostramos un mensaje de dirección inexistente.

 

 Podemos ver que en el AMBA hay 10 ubicaciones posibles para "Las Heras 2214"

En este ejemplo sólo usamos los campos "nombre_localidad" y "nombre_partido" de las direcciones. Si recorren el diccionario campo por campo, verán que hay muchos campos más que pueden ser de utilidad según qué sea lo que queremos ver.

No hay comentarios:

Publicar un comentario