Страницы

Поиск по вопросам

вторник, 5 февраля 2019 г.

Программно узнать вживую о забитом голе на чемпионате мира по футболу

Слово api или developer не видать на https://www.fifa.com/worldcup/
Подсматривая сетевые запросы браузера можно найти ссылку, которая обновления получает как json:
https://api.fifa.com/api/v1/live/football/recent/17/254645?language=ru-RU
В принципе можно с помощью периодического опроса (polling) недавнюю информацию получить отсюда.
В комментариях к похожему вопросу UEFA/FIFA scores API, можно найти ссылку на информацию обо всех матчах сразу:
https://api.fifa.com/api/v1/calendar/matches?idseason=254645&idcompetition=17&count=100
Эту ссылку также можно подсмотреть в инструментах разработчика в сетевых запросах браузера, находясь на fifa.com
Поисковики ещё подсказывают https://worldcup.sfg.io — сайт, который как json похожую информацию возвращает соскребая её с сайта fifa. Есть и другие сайты.
Идеально хотелось бы найти API в открытом доступе, которое бы позволило подписаться на интересующие меня события, без необходимости постоянного опроса, чтобы свежую информацию получить. Пример такого API это сайт https://pubsubhubbub.appspot.com/, который позволяет подписаться на push-уведомления. См. Как узнать что вышло новое видео на youtube-канале и как получить его url?


Ответ

API с push-уведомлениями не нашёл. В качестве компромисса, написал скрипт, который спит до начала матча, а затем каждые полминуты делает запрос по live ccылке, приведённой выше и сравнивает полученную информацию с уже сохранённой, чтобы узнать начался ли новый матч, забит ли новый гол.
Вот код утилиты на Питоне, отсылающей телеграмму вначале матча/при забитии гола

Комментариев нет:

Отправить комментарий