TGViewer
Python/ django Python/ django @pythonl · 58.5K subscribers
Post #3648 6.53K
🖥 HTTP-запросы и обработка JSON в Python: API Google Directions

⏩Для выполнения HTTP-запросов и обработки JSON в Python используйте модуль requests:
import requests

response = requests.get('https://api.example.com/end-point')
data = response.json()

Замените 'https://api.example.com/end-point' на необходимый API endpoint. Прежде чем приступить к обработке данных, проверьте, был ли запрос успешным.


⏩Составление продуктивных HTTP-запросов. Для более продвинутых запросов передавайте параметры в requests.get() используя словарь, чтобы избежать конкатенации строк:
params = {'origin': 'Нарния', 'destination': 'Хогвартс', 'waypoints': 'Средиземье|Мордор', 'sensor': 'false'}
response = requests.get('https://maps.googleapis.com/maps/api/directions/json', params=params)

Важно: значение waypoints должно быть указано в виде одной строки, например, 'Средиземье|Мордор'.


⏩Тщательное извлечение данных из JSON

После получения ответа, преобразуйте JSON с помощью метода .json() и проверьте код ответа:
data = response.json()
if response.status_code == 200:
from pprint import pprint
pprint(data) # Выведем данные структурированно для удобства
else:
print("Ошибка HTTP-запроса:", response.status_code)



⏩Обработка вложенных структур JSON

Обработка вложенных структур в JSON требует внимательного подхода. На Python это выполнимо:
for route in data['routes']:
for leg in route['legs']:
for step in leg['steps']:
print(step['html_instructions'])

Используйте циклы для перемещения по структуре данных.


⏩Важные моменты, которые надо запомнить
— Всегда проверяйте статус ответа.
— Применяйте метод .json(), а при необходимости — json.loads(response.content).
— Не ограничивайтесь в использовании параметров запроса: чем больше их, тем лучше.

@pythonl
  • 👍 20
  • 🔥 5
  • ❤ 3
More from @pythonl
  1. Oct 17, 2026🧠 Python + Prolog: нейросети и строгая логика в одном процессе Clausal Prolog объединяет…
  2. Oct 17, 2026🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажет…
  3. Oct 16, 2026🧠 Tencent открыла Hy Memory: общую память для ИИ-ассистентов и редакторов кода Система об…
  4. Oct 15, 2026🖥 Datadog научила профилировщик Python понимать asyncio: флеймграфы со «стеками из стеков…
  5. Oct 14, 2026📱 35 млрд параметров на смартфоне с потреблением около 3 ГБ оперативной памяти. OpenBMB п…
  6. Oct 12, 2026⚡️ Overmind - open-source слой для автоматической оптимизации AI-агентов. Вместо ручного т…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →