Desejo consultar dinamicamente o Google Maps por meio da API do Google Directions. Como exemplo, esta solicitação calcula a rota de Chicago, IL para Los Angeles, CA através de dois pontos de referência em Joplin, MO e Oklahoma City, OK:
Retorna um resultado no formato JSON .
Como posso fazer isso em Python? Quero enviar uma solicitação, receber o resultado e analisá-lo.
json=params
vez de,params=params
ou recebo um erro 500.O
requests
módulo Python cuida da recuperação e decodificação dos dados JSON, devido ao seu decodificador JSON interno. Aqui está um exemplo retirado da documentação do módulo :Portanto, não há necessidade de usar algum módulo separado para decodificar JSON.
fonte
json.load()
oujson.loads()
, como em 0.x,json
é uma propriedade e não uma função.python-requests
(oupython3-requests
), portanto, você precisará instalar em outro lugar/usr/local
para evitar a quebra desses pacotes. Por outro lado, quando a portabilidade / compatibilidade é trivial, na minha opinião vale a pena.r.json()
(da minha resposta) você tem a resposta real, decodificada por JSON. Você pode acessá-lo como um normallist
/dict
;print r.json()
para ver como é. Ou consulte os documentos da API do serviço para o qual você fez a solicitação.requests
possui.json()
método embutidofonte
fonte
urllib.request
em Python 3.Use a biblioteca de solicitações, imprima os resultados para localizar melhor as chaves / valores que deseja extrair e use aninhados para loops para analisar os dados. No exemplo, extraio instruções de direção passo a passo.
fonte
import pprint
then ->pprint.pprint(step['html_instructions'])
Tente o seguinte:
fonte
Também para o Json bonito no console:
possível usar dumps com recuo. ( Importe json )
fonte