Олег Марков
Работа с данными через API и внешние сервисы
Введение
В современных проектах важно уметь работать с данными, получаемыми из внешних сервисов через API. Python предоставляет удобные инструменты для отправки запросов, получения ответов и обработки данных в различных форматах, таких как JSON или XML. В этой статье мы рассмотрим, как работать с API, отправлять запросы и использовать ответы для решения практических задач.
Основы работы с API
API (Application Programming Interface) позволяет программам взаимодействовать друг с другом. В Python для работы с HTTP-запросами часто используют библиотеку requests:
import requests
response = requests.get("https://api.example.com/data")
if response.status_code == 200:
data = response.json()
print(data)requests.get— отправка GET-запроса.response.status_code— проверка успешности запроса.response.json()— получение данных в формате JSON.
Для более глубокого понимания работы с API, обработки ответов и интеграции внешних сервисов, полезно изучить курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажёры для практики 24/7, решение задач с живым ревью наставника и еженедельные встречи с менторами. Он помогает закрепить навыки работы с внешними сервисами и научиться использовать API для решения реальных задач.
Отправка данных через POST
Для передачи данных на сервер используется POST-запрос:
payload = {"name": "Alice", "age": 25}
response = requests.post("https://api.example.com/users", json=payload)
print(response.status_code)
print(response.json())json=payloadавтоматически конвертирует словарь в JSON.- Ответ сервера можно обработать аналогично GET-запросу.
Обработка ошибок и проверка ответов
При работе с внешними API важно проверять успешность запросов и корректность данных:
try:
response = requests.get("https://api.example.com/data")
response.raise_for_status()
data = response.json()
except requests.exceptions.HTTPError as err:
print("Ошибка HTTP:", err)
except requests.exceptions.RequestException as err:
print("Ошибка запроса:", err)
except ValueError:
print("Ошибка обработки JSON")raise_for_status()вызывает исключение при ошибках HTTP.- Исключения помогают корректно реагировать на сбои и недоступность сервисов.
Частые ошибки
- Игнорирование проверок статуса ответа.
- Необработка исключений при сетевых сбоях.
- Некорректная обработка формата данных (например, JSON).
- Отправка данных в неверном формате (например, как строка вместо JSON).
Частозадаваемые вопросы
Что делать, если API возвращает ошибку 404 или 500? Проверять код статуса и обрабатывать через исключения.
Можно ли использовать API без библиотеки requests?
Да, встроенный модуль urllib позволяет работать с HTTP-запросами, но requests удобнее и читаемее.
Как обрабатывать большое количество данных из API? Использовать пагинацию, фильтры, а также сохранять результаты в переменные или базы данных.
Можно ли отправлять данные на сервер в формате JSON?
Да, передавайте словарь через json=payload в методах POST/PUT.
Заключение
Работа с API и внешними сервисами позволяет Python-программам получать и отправлять данные, интегрироваться с другими сервисами и строить динамичные приложения. Использование методов работы с API ускоряет разработку и расширяет возможности проектов. Для закрепления навыков отправки и получения данных, обработки ответов и изучения дополнительных возможностей Python рекомендуем курс Основы Python. В первых 3 модулях курса доступно бесплатное содержание, что позволяет сразу практиковаться с API, получать и отправлять данные и понять структуру курса до полного изучения.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев