Обработка ответа API
Теперь мы напишем программу, которая выдает вызов API для поиска на Github проектов Python с наибольшим количеством звезд:
python_repos.py
(1) import requests
# Создание вызова API и сохранение ответа.
(2)url = 'https://api.github.com/search/repositories?q=language:python &sort=stars'
(3)r = requests.get(url)
(4)print("Status code:", r.status_code)
# Сохранение ответа API в переменной.
(5)response_dict = r.json()
# Обработка результатов.
print(response_dict.keys())
В точке (1) импортируется модуль requests. В точке (2) URL-адрес вызова API сохраняется в переменной, после чего модуль requests используется для вызова (3). Мы вызываем метод get() и передаем ему URL, а объект ответа сохраняется в переменной r. Объект ответа содержит атрибут status_code, в котором хранится признак успешного выполнения запроса. (Код 200 — признак успешного ответа.) В точке (4) программа выводит значение status_code, чтобы вы могли убедиться в том, что вызов был обработан успешно.
API возвращает информацию в формате JSON, поэтому в программе используется метод json() (5) для преобразования информации в словарь Python. Полученный словарь сохраняется в переменной response_dict.
Наконец, программа выводит ключи словаря response_dict, и мы видим следующее:
Status code: 200
dict_keys(['items', 'total_count', 'incomplete_results'])
Код статуса 200 означает, что запрос был обработан успешно. Словарь ответа содержит всего три ключа: ‘items’, 'total_count' и 'incomplete_results'.
Примечание
Подобные простые вызовы должны возвращать полный набор результатов, поэтому значение, связанное с 'incomplete_results’, можно достаточно безопасно игнорировать. Но, если ваша программа выдает более сложные вызовы API, обязательно проверяйте это значение.