Книга «Изучаем Python»



Pdf көрінісі
бет219/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   215   216   217   218   219   220   221   222   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 17 • Работа с API
Repositories returned: 30
 
Keys: 68
archive_url
assignees_url
blobs_url
...
url
watchers
watchers_count
API GitHub возвращает подробную информацию о каждом репозитории: в 
repo_
dict
68 ключей 

. Просмотр ключей дает представление о том, какую информацию 
можно извлечь о проекте. (Чтобы узнать, какую информацию можно получить 
через API, следует либо прочитать документацию, либо проанализировать инфор-
мацию в коде, как мы и поступаем.)
Прочитаем значения некоторых ключей 
repo_dict
:
python_repos.py
...
# Анализ информации о репозиториях.
repo_dicts = response_dict['items']
print("Repositories returned:", len(repo_dicts))
# Анализ первого репозитория.
repo_dict = repo_dicts[0]
print("\nSelected information about first repository:")
 
print('Name:', repo_dict['name'])
 
print('Owner:', repo_dict['owner']['login'])
 
print('Stars:', repo_dict['stargazers_count'])
print('Repository:', repo_dict['html_url'])
 
print('Created:', repo_dict['created_at'])
 
print('Updated:', repo_dict['updated_at'])
print('Description:', repo_dict['description'])
В программе выводятся значения, связанные с некоторыми ключами словаря пер-
вого репозитория. В точке 

выводится имя проекта. Владельца проекта представ-
ляет целый словарь, поэтому в точке 

ключ 
owner
используется для обращения 
к словарю, представляющему владельца, после чего ключ 
login
используется для 
получения регистрационного имени владельца. В точке 

выводится количество 
звезд, заработанных проектом, и URL репозитория GitHub проекта. Далее выво-
дится дата создания 

и последнего обновления репозитория 

. В завершение 
выводится описание репозитория; вывод должен выглядеть примерно так:
Status code: 200
Total repositories: 713065 
Repositories returned: 30 
Selected information about first repository: 
Name: httpie 
Owner: jkbrzt 
Stars: 16101 


Использование API веб-приложений
367
Repository: https://github.com/jkbrzt/httpie 
Created: 2012-02-25T12:39:13Z 
Updated: 2015-07-13T14:56:41Z 
Description: CLI HTTP client; user-friendly cURL replacement featuring 
intuitive UI, JSON support, syntax highlighting, wget-like downloads, 
extensions, etc.
Из вывода видно, что на момент написания книги самым «звездным» проектом 
Python на GitHub был проект HTTPie, владельцем которого является пользователь 
jkbrzt, и звезды этот проект получил более чем от 16 000 пользователей GitHub. Мы 
видим URL репозитория проекта, дату создания (февраль 2012 г.) и то, что проект 
недавно обновлялся. Наконец, из описания следует, что HTTPie помогает выдавать 
вызовы HTTP из терминала (CLI — сокращение от «Command Line Interface», 
то есть «интерфейс командной строки»).
Сводка самых популярных репозиториев
При построении визуализации этих данных на диаграмму необходимо нанести 
более одного репозитория. Напишем цикл для вывода информации о каждом ре-
позитории, возвращаемом вызовом API, чтобы все эти репозитории можно было 
включить в визуализацию:
python_repos.py
...
# Анализ информации о репозиториях.
repo_dicts = response_dict['items']
print("Repositories returned:", len(repo_dicts))

print("\nSelected information about each repository:")
 
for repo_dict in repo_dicts:
print('\nName:', repo_dict['name'])
print('Owner:', repo_dict['owner']['login'])
print('Stars:', repo_dict['stargazers_count'])
print('Repository:', repo_dict['html_url'])
print('Description:', repo_dict['description'])
В точке 

выводится приветственное сообщение. В точке 

перебираются все 
словари в 
repo_dicts
. Внутри цикла выводится имя каждого проекта, его владелец, 
количество звезд, URL на GitHub и краткое описание проекта:
Status code: 200
Total repositories: 713067 
Repositories returned: 30 
Selected information about each repository: 
Name: httpie 
Owner: jkbrzt 
Stars: 16101 
Repository: https://github.com/jkbrzt/httpie 
Description: CLI HTTP client; user-friendly cURL replacement featuring 
intuitive UI, JSON support, syntax highlighting, wget-like downloads, 
extensions, etc. 


368

Достарыңызбен бөлісу:
1   ...   215   216   217   218   219   220   221   222   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет