300 votes

Demandes HTTP et analyse syntaxique JSON en Python

Je souhaite interroger Google Maps de manière dynamique via l'API Google Directions. À titre d'exemple, cette requête calcule l'itinéraire de Chicago, IL à Los Angeles, CA via deux points de passage à Joplin, MO et Oklahoma City, OK :

http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false

Il renvoie un résultat au format JSON .

Comment puis-je faire cela en Python ? Je veux envoyer une telle requête, recevoir le résultat et l'analyser.

11voto

Raghav Gupta Points 117

Essayez ça :

import requests
import json

# Goole Maps API.
link = 'http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false'

# Request data from link as 'str'
data = requests.get(link).text

# convert 'str' to Json
data = json.loads(data)

# Now you can access Json 
for i in data['routes'][0]['legs'][0]['steps']:
    lattitude = i['start_location']['lat']
    longitude = i['start_location']['lng']
    print('{}, {}'.format(lattitude, longitude))

4voto

user5510975 Points 307

Également pour un joli Json sur la console :

 json.dumps(response.json(), indent=2)

possible d'utiliser des vidages avec indentation. (Veuillez import json )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X