Quiero consultar dinámicamente Google Maps a través de la API de Google Directions. Como ejemplo, esta solicitud calcula la ruta desde Chicago, IL a Los Ángeles, CA a través de dos puntos de referencia en Joplin, MO y Oklahoma City, OK:
Devuelve un resultado en el formato JSON .
¿Cómo puedo hacer esto en Python? Quiero enviar dicha solicitud, recibir el resultado y analizarlo.
json=params
lugar deparams=params
u obtengo un error 500.El
requests
módulo Python se encarga tanto de recuperar datos JSON como de decodificarlos, debido a su decodificador JSON incorporado. Aquí hay un ejemplo tomado de la documentación del módulo :Por lo tanto, no tiene sentido usar un módulo separado para decodificar JSON.
fuente
json.load()
ojson.loads()
, como en 0.x,json
es una propiedad en lugar de una función.python-requests
(opython3-requests
) paquete, por lo que deberá instalarlo en otro lugar que/usr/local
no sea romper esos paquetes. Por otro lado, cuando la portabilidad / compatibilidad es trivial, en mi opinión, vale la pena.r.json()
(de mi respuesta) tienes la respuesta real, decodificada por JSON. Puedes acceder a él como un normallist
/dict
;print r.json()
para ver cómo se ve. O consulte los documentos de la API del servicio que solicitó.requests
tiene un.json()
método incorporadofuente
fuente
urllib.request
en Python 3.Use la biblioteca de solicitudes, imprima los resultados de manera bonita para que pueda localizar mejor las claves / valores que desea extraer, y luego use anidados para bucles para analizar los datos. En el ejemplo extraigo instrucciones de manejo paso a paso.
fuente
import pprint
entonces ->pprint.pprint(step['html_instructions'])
Prueba esto:
fuente
También para la bonita Json en consola:
posible usar volcados con sangría. ( Importa json )
fuente