М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет275/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   271   272   273   274   275   276   277   278   ...   334
Байланысты:
Изучаем Python


Глава 17 • Работа с API
print(f"\nName: {repo_dict['name']}")
print(f"Owner: {repo_dict['owner']['login']}")
print(f"Stars: {repo_dict['stargazers_count']}")
print(f"Repository: {repo_dict['html_url']}")
print(f"Description: {repo_dict['description']}")
В точке 

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

перебираются все 
словари в 
repo_dicts
. Внутри цикла выводится имя каждого проекта, его владелец, 
количество звезд, URL на GitHub и краткое описание проекта:
Status code: 200
Total repositories: 3494040
Repositories returned: 30
Selected information about each repository:
Name: awesome-python
Owner: vinta
Stars: 61549
Repository: https://github.com/vinta/awesome-python
Description: A curated list of awesome Python frameworks, libraries, software
and resources
Name: system-design-primer
Owner: donnemartin
Stars: 57256
Repository: https://github.com/donnemartin/system-design-primer
Description: Learn how to design large-scale systems. Prep for the system
design interview. Includes Anki flashcards.
...
Name: python-patterns
Owner: faif
Stars: 19058
Repository: https://github.com/faif/python-patterns
Description: A collection of design patterns/idioms in Python
В этих результатах встречаются интересные проекты; возможно, вам стоит при-
смотреться к некоторым из них… Но не увлекайтесь, потому что мы собираемся 
создать визуализацию, которая существенно упростит чтение результатов.
Проверка ограничений частоты обращений API
Многие API ограничивают частоту обращений; иначе говоря, существует предел 
для количества запросов в определенный промежуток времени. Чтобы узнать, не 
приближаетесь ли вы к ограничениям GitHub, введите в браузере адрес 
https://api .
github .com/rate_limit
. Вы получите ответ, который выглядит примерно так:
{
"resources": {
"core": {
"limit": 60,
"remaining": 58,


Использование API веб-приложений
381
"reset": 1550385312
},

"search": {

"limit": 10,

"remaining": 8,

"reset": 1550381772
}
},
...
В этих данных нас интересует частота обращений для поискового API 

. В точке 

видно, что предельная частота составляет 10 запросов в минуту и что на текущую 
минуту осталось еще 8 запросов 

. Значение 
reset
представляет 
Unix-время
, или 
эпохальное время 
(число секунд, прошедших с полуночи 1 января 1970 г.) момента, 
когда произойдет сброс квоты 

. При достижении предельного количества обраще-
ний вы получите короткий ответ, уведомляющий о достижении предела API. Если 
это произойдет, просто подождите, пока квота будет сброшена.
ПРИМЕЧАНИЕ
Многие API требуют регистрации и получения ключа API для соверше-
ния вызовов . На момент написания для GitHub такого требования не было, но если вы 
получите ключ API, предельная частота обращений для ваших программ значительно 
увеличится .
Визуализация репозиториев с использованием Plotly
Теперь, с появлением интересных данных, мы построим визуализацию, демонстри-
рующую относительную популярность проектов Python в GitHub. Мы построим 
интерактивную столбцовую диаграмму: высота каждого столбца будет представ-
лять количество звезд у проекта. Щелчок на столбце будет открывать домашнюю 
страницу проекта на GitHub. Сохраните копию программы, над которой вы рабо-
таете, под именем 
python_repos_visual .py
, а затем приведите ее к следующему виду:


Достарыңызбен бөлісу:
1   ...   271   272   273   274   275   276   277   278   ...   334




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

    Басты бет