Работа с прикладными интерфейсами (Web API)

Прокрутить вниз

Работа с прикладными интерфейсами (Web API) в Python является важной частью современной разработки программного обеспечения. Используя API, вы можете получать и отправлять данные через HTTP-запросы, работая с различными веб-службами, такими как сервисы социальных сетей, платежные системы, погодные сервисы и т.д.

Основные шаги для работы с Web API в Python

1. Установка библиотеки `requests`:

Библиотека `requests` упрощает отправку HTTP-запросов и работу с ответами.

pip install requests

2. Отправка запроса к Web API:

Основные типы HTTP-запросов:
— `GET`: Получение данных
— `POST`: Передача данных для создания или обновления ресурса
— `PUT`: Обновление существующего ресурса
— `DELETE`: Удаление ресурса

import requests

  • Пример отправки GET-запроса
    url = ‘https://jsonplaceholder.typicode.com/posts’
    response = requests.get(url)
  • Проверка статуса ответа
    if response.status_code == 200:
    data = response.json() # Преобразование ответа в формат JSON
    print(data)
    else:
    print(f»Ошибка: {response.status_code}»)

3. Работа с параметрами и заголовками запроса:

Вы можете передавать параметры и заголовки в ваш запрос.

url = ‘https://jsonplaceholder.typicode.com/posts’
params = {‘userId’: 1} # Параметры запроса
headers = {‘Authorization’: ‘Bearer your_token’} # Заголовки запроса

response = requests.get(url, params=params, headers=headers)

if response.status_code == 200:
data = response.json()
print(data)

4. Отправка POST-запроса с данными:

При отправке запроса POST вы обычно передаете данные в формате JSON или формы.

url = ‘https://jsonplaceholder.typicode.com/posts’
data = {
‘title’: ‘foo’,
‘body’: ‘bar’,
‘userId’: 1
}

response = requests.post(url, json=data)

if response.status_code == 201: # 201 означает успешное создание ресурса
print(«Ресурс создан успешно»)
print(response.json())
else:
print(f»Ошибка: {response.status_code}»)

5. Обработка ошибок и исключений:

При работе с API могут возникать разные ошибки, такие как проблемы с подключением, неверные запросы или ошибки сервера. Библиотека `requests` позволяет обрабатывать эти ошибки с помощью исключений.

import requests

url = ‘https://jsonplaceholder.typicode.com/posts’

try:
response = requests.get(url, timeout=5)
response.raise_for_status() # Проверка на HTTP-ошибки
data = response.json()
print(data)
except requests.exceptions.HTTPError as http_err:
print(f’HTTP ошибка: {http_err}’)
except requests.exceptions.ConnectionError as conn_err:
print(f’Ошибка соединения: {conn_err}’)
except requests.exceptions.Timeout as timeout_err:
print(f’Время ожидания вышло: {timeout_err}’)
except requests.exceptions.RequestException as req_err:
print(f’Другая ошибка: {req_err}’)

6. Пример работы с API для получения погоды:

Давайте рассмотрим пример работы с API для получения погоды. Мы будем использовать сервис [OpenWeatherMap](https://openweathermap.org/api).

import requests

api_key = ‘your_api_key’ # Зарегистрируйтесь на OpenWeatherMap, чтобы получить API-ключ
city ​​= ‘Kyiv’
url = f’http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric’

response = requests.get(url)

if response.status_code == 200:
data = response.json()
temp = data[‘main’][‘temp’]
weather_description = data[‘weather’][0][‘description’]
print(f’Погода в {city}: {temp}°C, {weather_description}’)
else:
print(f»Ошибка: {response.status_code}»)

Тест Python. Работа с прикладными интерфейсами (Web API)

Заключение

Работа с Web API в Python с помощью библиотеки `requests` позволяет интегрировать разнообразные веб-сервисы в ваши программы. Это позволяет автоматизировать задачи, получать или отправлять данные, взаимодействовать с другими системами. Благодаря мощным возможностям `requests` можно легко обрабатывать HTTP-запросы и строить интерактивные программы.