Я хочу динамически запрашивать Google Карты через API Google Directions. Например, этот запрос вычисляет маршрут из Чикаго, штат Иллинойс, в Лос-Анджелес, штат Калифорния, через две путевые точки в Джоплине, Миссури и Оклахома-Сити, штат Оклахома:
Возвращает результат в формате JSON .
Как я могу сделать это в Python? Я хочу отправить такой запрос, получить результат и разобрать его.
json=params
вместоparams=params
или я получаю 500 ошибок.Модуль
requests
Python обеспечивает как извлечение данных JSON, так и их декодирование благодаря встроенному JSON-декодеру. Вот пример, взятый из документации модуля :Поэтому нет необходимости использовать какой-то отдельный модуль для декодирования JSON.
источник
json.load()
илиjson.loads()
вместо этого, как в 0.x,json
это свойство, а не функция.python-requests
(илиpython3-requests
) пакета, поэтому вам нужно будет установить его где-то еще,/usr/local
чтобы не сломать эти пакеты. С другой стороны, когда переносимость / совместимость тривиальна, на мой взгляд, это того стоит.r.json()
(из моего ответа) у вас есть фактический ответ, JSON-декодированный. Вы можете получить к нему доступ как обычныйlist
/dict
;print r.json()
чтобы увидеть, как это выглядит. Или обратитесь к документации API службы, для которой вы сделали запрос.requests
имеет встроенный.json()
методисточник
источник
urllib.request
в Python 3.Используйте библиотеку запросов, довольно распечатайте результаты, чтобы вы могли лучше найти ключи / значения, которые вы хотите извлечь, а затем используйте вложенные циклы for для анализа данных. В примере я извлекаю пошаговые указания по вождению.
источник
import pprint
тогда ->pprint.pprint(step['html_instructions'])
Попробуй это:
источник
Также для симпатичной Json на консоли:
можно использовать дампы с отступом. (Пожалуйста, импортируйте JSON )
источник