Запрос данных с использованием вызовов API

GitHub поддерживает API (программный интерфейс) для запроса разнообразной информации посредством вызовов API. Чтобы понять, как выглядит вызов API, введите следующий адрес в адресной строке своего браузера и нажмите Enter:

https://api.github.com/search/repositories?q=language:python&sort=stars

Этот вызов возвращает количество проектов Python, размещенных на GitHub в настоящее время, а также информацию о самых популярных репозиториях Python. Рассмотрим вызов подробнее: первая часть https://api.github.com/ передает запрос части сайта GitHub, отвечающей на вызовы API. Следующая часть, search/repositories, приказывает API провести поиск по всем репозиториям в GitHub.

Вопросительный знак после repositories означает, что мы собираемся передать аргумент. Символ q обозначает запрос (Query), а знак равенства начинает определение запроса (q=). Выражение language:python указывает, что запрашивается информация только по репозиториям, для которых основным языком указан Python. Завершающая часть, &sort=stars, сортирует проекты по количеству присвоенных им звезд.

В следующем фрагменте приведены несколько начальных строк ответа. Вероятно, по виду ответа вы уже поняли, что этот URL-адрес не предназначен для обычных пользователей.

{

"total_count": 713062,

"incomplete_results": false,

"items": [

. .{

. . "id": 3544424,

. . "name": "httpie",

. . "full_name": "jkbrzt/httpie",

. . ...

Как видно из второй строки вывода, на момент написания книги на GitHub было найдено 713 062 проектов Python. Значение "incomplete_results" равно false, а значит, запрос был обработан успешно (информация не является неполной). Если бы у GitHub возникли проблемы с полной обработкой запроса API, то в этом поле было бы возвращено значение true. Возвращаемые данные отображаются в списке "items" с информацией о самых популярных проектах Python на GitHub.