• Как создать приложение для ставок на спорт с помощью Python (используя TheRundown API)

Спортивная индустрия - одна из самых привлекательных и стабильных в сфере развлечений. Уровень внимания к ведущим спортивным событиям впечатляет. Вот почему ставки на спорт - это увлекательный способ заработка. Простой зритель, знакомый с текущей командной ситуацией, легко может в них «вложиться». Кроме того, азартные игры могут сделать спорт более интересным лично для вас. Итак, сегодня мы поговорим о ставках на спорт и некоторых полезных API для их реализации.

Что такое API для ставок на спорт?

Короче говоря, букмекерская контора - это организация, которая предлагает некоторые коэффициенты для спортивных событий до или непосредственно во время события. Например, матчи, драки, турниры и т. Д. Если потенциальный потребитель считает эти коэффициенты адекватными, есть возможность сделать ставку. Ставки - это игра, в которой вам нужно взвесить шансы и вероятность, чтобы сделать наиболее успешную игру.

Но каков коэффициент? Представим это как мультипликатор успеха. Если, например, какое-то конкретное действие во время футбольного матча будет иметь коэффициент 1,7, то успешная ставка на него умножит ваш выигрыш. Однако в случае неудачи деньги уйдут в букмекерскую контору - опасная, случайная, но красивая игра.

Популярные типы ставок

Прежде чем мы углубимся, давайте рассмотрим несколько ключевых терминов по ставкам на спорт:

Денежная линия

Денежная линия - это сумма денег на кону.

Баскетбольный матч между Бульдогами и Змеями. Вы можете сделать ставку на любого из них, но всегда будут аутсайдеры и фавориты. Например, вероятность победы более сильной команды (фаворита) выше, поэтому, если вы сделаете ставку на нее, вы не выиграете столько денег.

Здесь становится полезной денежная линия. Если вы посмотрите на денежные линии в этой игре и увидите эту картинку:

Бульдоги +150, Змеи -170.

Что это значит?

Что ж, Змеи - фавориты на победу в игре, поэтому заработок будет ниже. В соответствии с этим вам нужно будет поставить 170 долларов, чтобы получить стандартную прибыль в 100 долларов.

Бульдоги слабее, поэтому ставка более рискованная, но джекпот будет больше. В этом случае вы выиграете чистую ставку в 150 долларов из ставки в 100 долларов. Чистый означает, что окончательная сумма транзакции составит 250 долларов (доход плюс базовая ставка). Принцип прост, помните, что у потенциального проигравшего всегда есть знак плюса (+), а у ожидаемого победителя - минус (-).

Точечная линия распространения

Разброс очков - это разница между окончательными результатами игры. Согласно предыдущему примеру, Бульдоги могут иметь +10, а Змеи -10.

Логика чистая - худшая команда наверняка проиграет с некоторым отрывом от лучшей команды. В этом случае на 10 баллов.

Итак, здесь вы можете попытаться предсказать два возможных сценария:

  1. Змеи выиграют разницу в десять или более очков,
  2. или Бульдоги проигрывают с девятью или меньше.

В случае, если разница равна 10 пунктам, вы вернете свои деньги по ставке.

Итоговая строка

Итоговая линия - это полное количество очков. Вот прогноз для сводки итоговых результатов по баллам. Обычно это как порог - определенные границы превышают или ниже него.

Например, Бульдоги и Змеи могут вместе набрать 180 очков. И вы можете предсказать, будет ли реальный результат в верхней или нижней границе против него.

Теперь поговорим об API. Интерфейсы прикладного программирования или API-интерфейсы - это способ создания полезных и простых программных взаимодействий. Это предопределенный набор правил (т. Е. Вопросов), которые могут контролировать действия пользователя в программе. API-интерфейсы делают взаимодействие программы с пользователем более удобным и продуктивным.

Связь основана на процедуре запрос-ответ. Первый - это вопрос пользователя (какие ставки доступны для игры Bulldogs). Второй - ответ на эту задачу (ставки, коэффициенты и т. Д.), Который возвращается стандартным способом.

Обычно существует четыре популярных типа запросов:

    - когда пользователь что-то запрашивает у программы - добавление новой информации в приложение прямо из клиента - изменение ранее добавленных данных - удаление некоторой информации с сервера

Зная об азартных играх и структуре API, мы можем двигаться дальше. Прямо сейчас критическая задача будет заключаться в реализации реального API ставок на спорт.

В нашем проекте мы будем использовать API ставок на спорт TheRundown.

Как использовать API ставок на спорт TheRundown на RapidAPI

Предпосылки

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

Также есть необходимость делать запросы с отзывчивой обработкой. У Python много качественных решений, и запросы - одно из них. Обе библиотеки должны быть установлены в вашей версии Python (какой бы она ни была - локальной или виртуальной). Самый очевидный способ - через команду pip.

После этого вы можете перейти в каталог проекта и создать файл main.py. А пока добавим следующий контент:

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

RapidAPI

Если вы не хотите тратить время на поиск процесса API-хаба, вам следует взглянуть на RapidAPI. Здесь вы можете найти все возможное для API. Одна учетная запись предоставит вам доступ к более чем 10 000 API, включая TheRundown, API, который мы будем использовать в этом руководстве.

Учетная запись пользователя на RapidAPI дает частный неограниченный доступ ко всем существующим здесь конечным точкам. Можно создавать несколько приложений для проектов по отдельности, иметь прямое взаимодействие и не бояться безопасности и хранения.

Выполнение вызова API

Наконец, пришло время сделать несколько тестовых звонков. Один из самых интересных API для ставок на спорт - TheRundown. Вы можете найти его, просто выполнив поиск на главной странице RapidAPI.

Это убедительная и информативная система ставок. Здесь вы можете найти подробную информацию о различных видах спорта и лигах по разным филиалам. Кроме того, этот API позволяет делать более сложные ставки в моменты игры в реальном времени, например, в ситуации 1-го квартала / периода.

Главное окно конкретного API можно разделить на несколько разделов. Поговорим о них вкратце.

Верхняя часть страницы делегирована вкладкам описания. Всего их четыре:

  • конечные точки- это мэйнфрейм или консоль API, где мы можем исследовать существующие запросы, тестировать их и даже находить полезные сниппеты для разных языков.
  • Сведения об API- информация от авторов API, это может быть в формате документации или просто ссылка на другие страницы
  • обсуждения- темы обсуждения вопросов об использовании API - многоуровневые планы подписки, основанные на использовании API.Подсказка: есть тарифный план freemium, который дает вам 25 бесплатных вызовов API в день.Однако, вероятно, вам придется подписаться на более тяжелый план использования, если вы планируете получать много запросов.

Давайте протестируем некоторые конечные точки TheRundown. Прежде всего, может быть полезно узнать обо всех поддерживаемых видах спорта. Выберите объект раскрывающегося списка Спорт слева и выберите запрос ПОЛУЧИТЬ Спорт .

Как видите, он не требует никаких параметров для запроса, поэтому мы можем сразу его выполнить. Нажмите кнопку Test Endpoint , и вы должны увидеть ответ в правой части окна.

TheRundown поддерживает данные по нескольким видам спорта, и мы можем взаимодействовать с любым из них. Выберем, например, баскетбол.

Обратите внимание, что уникальныйsport_idбаскетбола -4.

Кроме того, на экране выше вы можете найти фрагмент кода Python с конечной точкой, использующей. Похоже, это сигнал вернуться в наше приложение Flask, не так ли?

Обработать ответ

Все, что нам нужно прямо сейчас, - это тот же ответ от нашего кода, что и в тесте браузера. Измените main.py следующими строками:

Как вы могли заметить, код изменен путем добавления нескольких объектов для заголовков (ценные данные для связи по протоколу HTTP) и URL-адреса. В домашнем методе мы вызываем запрос и возвращаем весь ответ в формате JSON. Прямо сейчас, если вы запустите этот файл, результат должен выглядеть примерно так:

Теперь, когда мы успешно подключились к API, давайте рассмотрим некоторые практические приложения.

Пример: создание руководства по динамическому назначению ставок

Очевидно, что сейчас наше приложение не очень функционально. Чтобы продемонстрировать, что вы можете делать с TheRundown API, мы продолжим расширять приложение.

Идея приложения заключается в том, что оно будет руководством к настоящим баскетбольным играм в НБА. Пользователи будут иметь не только краткую информацию о командах и локациях, но и обзор всех открытых линий ставок.

Основная конечная точка этого приложения - спортивные события. Здесь нам нужно указать sports_id (4 для баскетбола, помните?). Ответ должен быть похож на этот:

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

Подготовим все необходимые данные на стороне сервера. Откройте main.py и вставьте этот код:

Не волнуйтесь, значительная часть кода - это просто синтаксический анализ ответа.

После отправки запроса необходимо подготовить полученные данные JSON. Наша задача - сделать структуру данных, в которой будут храниться все события с выбранной информацией. Краткое описание игры взято из основного узла событий. Обратите внимание, что конечный объект с данными - это словарь.

Однако, несмотря на это, нам нужно быть более деликатными. Поскольку они хранятся на более глубоком уровне ( event->line_periods->period_full_time ), есть отдельный метод для получения этих данных.

Наконец, код возвращает шаблон HTML-страницы с информацией о событии. Теперь это часть предварительной обработки визуализации, и это будет выпущено с помощью шаблонов Flask.

Поскольку сегодня мы не хотим углубляться в веб-разработку, давайте воспользуемся некоторыми стилями Bootstrap. Они бесплатны, охватывают множество вариантов использования и содержат подробную документацию. Сегодня мы будем использовать два компонента: выпадающие списки и карточки.

Прежде всего, создайте статическую папку внутри каталога проекта. Эта папка обычно реагирует на статические ресурсы. В нашем случае будет только один файл пользовательских таблиц стилей. Создайте здесь файл style.css и вставьте следующие строки:

Эти два класса помогут отображать наши игровые карты в адаптивной и полезной сетке. Теперь вернитесь в корневой каталог проекта и создайте папку шаблонов . Здесь Flask будет искать шаблоны HTML. Нам понадобятся два из них.

Создайте файл base.html и добавьте этот код:

Сюда добавляем необходимые файлы: статические стили и скрипты Bootstrap.

Также обратите внимание на блоки. Он называется Jinja2 и позволяет нам создавать более сложные шаблоны HTML. Например, Jinja связывает отправленные объекты Python с шаблонами, расширяет макеты и т. Д.

Теперь мы наконец можем создать основной шаблон проекта - index.html:

Теперь мы реализовали раскрывающийся список и объекты карточек в циклах на основе данных события.

Теперь сохраните все свои файлы и протестируйте свой проект:

В нашем примере доступно всего три игры. Каждый из них показан в отдельной карточке с выпадающими списками возможных коэффициентов. В каждой нечетной категории есть список возможных оценок от разных партнеров. С помощью этого приложения вы теперь можете видеть, когда приходят горячие игры НБА.

Заключение

Сегодня мы представили мощный API для ставок на спорт, известный как TheRundown. Он поддерживает десятки источников по различным видам спорта, которые можно отслеживать и использовать. Кроме того, мы обнаружили важность использования API и попытались получить запрос вручную из концентратора RapidAPI. Наконец, мы создали полезное руководство для ставок на следующем стеке: RapidAPI + TheRundown + Flask + Bootstrap. Проект информативен и показывает все преимущества API ставок для настоящих фанатов спорта. Особенно, если они еще и увлеченные программисты.