DoOne HitMe 15 Опубликовано 22 сентября Поделиться Опубликовано 22 сентября Всех приветствую. В рамках изучения python ранее сделал бот на настольный теннис - BrcBet.Com - Ставки и Полезные Ресурсы. Представляю вашему вниманию новый бот на футбол. Этот бот отслеживает футбольные матчи в режиме Live с сайта Flashscore и ищет игры, где был назначен и реализован пенальти в первом тайме (до 45 минуты). Что делает бот: Парсит сайт Flashscore: ищет матчи с промежуточным счётом 0:1 или 1:0; проверяет, был ли пенальти в первом тайме. Отправляет уведомления в Telegram: в канал/чат через Bot API; сообщение содержит лигу, команды, минуту пенальти, текущий счёт и ссылку на матч. Обновляет итоговый счёт через 2 часа: редактирует старое сообщение в Telegram; добавляет смайлик (пенальти повлиял на исход) или (пенальти не изменил счёт). Ведёт статистику: сохраняет данные в daily_stats.json и league_stats.json; раз в сутки публикует итоговую статистику за день. (не совсем корректно реализовано, можно удалить из бота) Сохраняет историю в Excel (matches.xlsx): дата, команды, минута пенальти, итоговый счёт и ссылка Файлы и их назначение 1. daily_stats.json - Файл для хранения ежедневной статистики по пенальти. 2. league_stats.json - Файл для накопительной статистики по лигам. 3. matches.xlsx - Excel-файл, куда бот заносит все обработанные матчи. 4. processed_matches.json - Файл для хранения уже обработанных матчей. Чтобы бот не отправлял одно и то же событие несколько раз. 5. recheck_matches.json - Файл для хранения матчей, которые нужно проверить через 2 часа для обновления счёта. 6. sent_links.json - Файл с ссылками на уже отправленные матчи. 7. bot.log - Файл с логами работы бота. 8. bot.py - сам бот для запуска. Установка и запуск на Windows 1. Установить Python Скачай с python.org (версии 3.10+). При установке обязательно поставить галочку "Add Python to PATH". 2. Скачать код бота Сохрани файл bot.py и положи в отдельную папку (например, C:\football_bot). 3. Установить зависимости Открой PowerShell / CMD в папке с ботом и выполни: Цитата pip install requests beautifulsoup4 openpyxl или Цитата pip install requests pip install beautifulsoup4 pip install openpyxl 4. Настроить токен и канал В файле bot.py замени: Цитата TELEGRAM_TOKEN = "ТОКЕН_БОТА" CHANNEL_ID = "@ВАШКАНАЛ" токен Telegram-бота (получить у @BotFather), ID канала или чата (для канала начинается с @). на свои данные: 5. Запуск бота В той же папке выполни: python bot.py Логи будут сохраняться в файл bot.log. Установка и запуск на Linux (Ubuntu/Debian) 1. Установить Python и pip sudo apt update sudo apt install python3 python3-pip -y 2. Создать папку для бота mkdir ~/football_bot cd ~/football_bot 3. Скопировать файл bot.py Скопируй в эту папку через scp, nano или vim. 4. Установить зависимости pip3 install requests beautifulsoup4 openpyxl 5. Настроить bot.py Замени TELEGRAM_TOKEN и CHANNEL_ID на свои значения. 6. Запустить бота python3 bot.py Если есть вопросы телеграм @dimapross Бот работает тут на сервере https://t.me/testofbots01 bot_penalty45min.rar 8 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/ Поделиться на другие сайты Поделиться
Petrovich 333 Опубликовано 22 сентября Поделиться Опубликовано 22 сентября А на что мы ставим по этому боту ? В чем изум бота ? Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513069 Поделиться на другие сайты Поделиться
Модераторы al88sm 945 Опубликовано 22 сентября Модераторы Поделиться Опубликовано 22 сентября 10 минут назад, Petrovich сказал: А на что мы ставим по этому боту ? В чем изум бота ? ну наверное, та команда которая забила пенальти в итоге выиграет матч. Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513070 Поделиться на другие сайты Поделиться
Dima Zloy 26 Опубликовано 22 сентября Поделиться Опубликовано 22 сентября 11 минут назад, Petrovich сказал: А на что мы ставим по этому боту ? В чем изум бота ? на еще гол в матче. Была стратегия на канале в телеге и даже бот сделали Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513071 Поделиться на другие сайты Поделиться
DoOne HitMe 15 Опубликовано 22 сентября Автор Поделиться Опубликовано 22 сентября на гол 36 минут назад, Petrovich сказал: А на что мы ставим по этому боту ? В чем изум бота ? посмотрите ексель, на что больше вероятность? либо оба забьют или ТБ Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513072 Поделиться на другие сайты Поделиться
Petrovich 333 Опубликовано 22 сентября Поделиться Опубликовано 22 сентября 6 минут назад, DoOne HitMe сказал: на гол посмотрите ексель, на что больше вероятность? либо оба забьют или ТБ Ясно.спс Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513074 Поделиться на другие сайты Поделиться
Dimmkoff 12 Опубликовано 23 сентября Поделиться Опубликовано 23 сентября Добрый вечер, подскажите пожалуйста, менять только тут - # === Конфигурация === TELEGRAM_TOKEN = "7^^^842962:AAFvEsQFhXmLQtB6WVv2edT_1_eoczB_Uaw" CHANNEL_ID = "@next^^goal_bot" Правильно вставил? Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513106 Поделиться на другие сайты Поделиться
Dimmkoff 12 Опубликовано 23 сентября Поделиться Опубликовано 23 сентября Не приходят сигналы... Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513108 Поделиться на другие сайты Поделиться
Dima Zloy 26 Опубликовано 23 сентября Поделиться Опубликовано 23 сентября 29 минут назад, Dimmkoff сказал: Добрый вечер, подскажите пожалуйста, менять только тут - # === Конфигурация === TELEGRAM_TOKEN = "7^^^842962:AAFvEsQFhXmLQtB6WVv2edT_1_eoczB_Uaw" CHANNEL_ID = "@next^^goal_bot" Правильно вставил? CHANNEL_ID должны быть цифры. попробуй тут узнать в телеге через бот Get My ID Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513112 Поделиться на другие сайты Поделиться
Dimmkoff 12 Опубликовано 23 сентября Поделиться Опубликовано 23 сентября 8 минут назад, Dima Zloy сказал: CHANNEL_ID должны быть цифры. попробуй тут узнать в телеге через бот Get My ID Спасибо!!! Сразу пришёл сигнал в телегу... 1 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513114 Поделиться на другие сайты Поделиться
alex lampard 40 Опубликовано 23 сентября Поделиться Опубликовано 23 сентября 3 часа назад, Dimmkoff сказал: Добрый вечер, подскажите пожалуйста, менять только тут - # === Конфигурация === TELEGRAM_TOKEN = "7^^^842962:AAFvEsQFhXmLQtB6WVv2edT_1_eoczB_Uaw" CHANNEL_ID = "@next^^goal_bot" Правильно вставил? # === Конфигурация === TELEGRAM_TOKEN ="6870632544:AAFl4jLwoz1Gu13y7777UdqmIuahK1K3gXmw" CHANNEL_ID ="35384556" Вот так 1 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513117 Поделиться на другие сайты Поделиться
DoOne HitMe 15 Опубликовано 24 сентября Автор Поделиться Опубликовано 24 сентября 16 часов назад, alex lampard сказал: # === Конфигурация === TELEGRAM_TOKEN ="6870632544:AAFl4jLwoz1Gu13y7777UdqmIuahK1K3gXmw" CHANNEL_ID ="35384556" Вот так канал ид через @ CHANNEL_ID ="@35384556" Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513148 Поделиться на другие сайты Поделиться
maluky 23 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября Немного доработал данный скрипт. Сравнение нового и старого кода: ключевые улучшения Архитектурные улучшения 1. ООП подход вместо процедурного Старый код: Функции разбросаны по файлу Новый код: Четкая классовая структура: • Config - управление конфигурацией • CacheManager - кэширование запросов • HTTPClient - HTTP клиент с повторными попытками • DataManager - работа с файлами • TelegramBot - взаимодействие с Telegram API • MatchParser - парсинг матчей • HealthChecker - мониторинг здоровья • FlashscoreParser - основной класс приложения 2. Улучшенное управление состоянием Производительность и надежность 3. Кэширование запросов 4. Повторные попытки и обработка ошибок 5. Мониторинг здоровья приложения Улучшенный парсинг 6. Расширенные селекторы для поиска данных 7. Улучшенный поиск пенальти 8. Детальное логирование парсинга Мониторинг и метрики 9. Prometheus метрики (новое) 10. Расширенное логирование с ротацией Безопасность и стабильность 11. Валидация конфигурации 12. Обработка исключений для Windows Улучшенная работа с данными 13. Структурированное хранение файлов 14. Расширенная статистика Улучшения основного цикла 15. Разделение ответственности 16. Улучшенное управление временем Ключевые преимущества нового кода: 1. Надежность: Повторные попытки, кэширование, обработка ошибок 2. Масштабируемость: ООП архитектура, легко добавлять новые функции 3. Мониторинг: Метрики Prometheus, детальное логирование 4. Поддержка: Кроссплатформенность, проверка здоровья 5. Качество кода: Читаемость, модульность, документация 6. Производительность: Кэширование, оптимизированные запросы 7. Отладка: Подробные логи, сбор событий матча Основные улучшения: 1. Улучшенный парсинг пенальти - добавлены дополнительные ключевые слова и методы поиска 2. Детальное логирование - теперь видно, что происходит на каждом этапе 3. Расширенные селекторы - для поиска команд, счета и событий 4. Отладка событий - собираются все события матча для анализа Что теперь будет в логах: text Найдено ссылок на матчи: 13 Найден подходящий матч: Лига - 1:0 на 23' Детали матча https://m.flashscorekz.com/match/rP5q0pv9/: Команды: Команда А - Команда Б Счёт: 1:0 Минута: 23' Пенальти: ? Все события: 5 Событие: Гол 23' Событие: Желтая карточка 15' Событие: Пенальти 18' Установка и запуск: bash # Установите зависимости pip install requests beautifulsoup4 openpyxl psutil # Запустите скрипт python bot.py Настройка Telegram: 1. Замените YOUR_TELEGRAM_BOT_TOKEN_HERE на реальный токен бота 2. Замените YOUR_TELEGRAM_CHANNEL_ID_HERE на ID вашего канала Теперь скрипт должен работать без ошибок на Windows! football_bot.zip 5 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513253 Поделиться на другие сайты Поделиться
maluky 23 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября Скоро подгоню бота с прогнозами на оба тайма. Дописываю. Потещу его. Поделюсь с Вами. Могу для теста взять 3 человека 4 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513258 Поделиться на другие сайты Поделиться
alex lampard 40 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября Так должно быть? Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513261 Поделиться на другие сайты Поделиться
maluky 23 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября Только что, alex lampard сказал: Так должно быть? да. Но можно ловить голы и без пенальти, на второй тайм ставить Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513262 Поделиться на другие сайты Поделиться
OlegZ 31 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября Ставить на ТБ смысла нет там коэф. мизерный. Вот пример: Ст. Пельтен 1 : 0 Штурм Грац II Тотал:Больше(1.5) 1.09 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513279 Поделиться на другие сайты Поделиться
maluky 23 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября На оба тайма. Удалить все файлы из папки. Скаченный файл поместить в папку. Будут ошибки или пожелания пишите bot.py 2 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513280 Поделиться на другие сайты Поделиться
Модераторы al88sm 945 Опубликовано 26 сентября Модераторы Поделиться Опубликовано 26 сентября сама идея с ботом интересная, но нужно что то ликвидное, например, пусть парсить xG оно там есть в некоторых матчах, и ловить например первый тайм где сумма xG больше одного на гол в первом тайме. ну а если первый тайм 0-0 то ловить гол во втором тайме. при тех же условиях. ну или типа того. 1 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513286 Поделиться на другие сайты Поделиться
Модераторы al88sm 945 Опубликовано 26 сентября Модераторы Поделиться Опубликовано 26 сентября 1 час назад, OlegZ сказал: Ставить на ТБ смысла нет там коэф. мизерный. Вот пример: Ст. Пельтен 1 : 0 Штурм Грац II Тотал:Больше(1.5) 1.09 Обе Забьют тоже проходят, но коэффы там тоже не огонь) Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513287 Поделиться на другие сайты Поделиться
gogyto 99 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября 14 минут назад, al88sm сказал: сама идея с ботом интересная, но нужно что то ликвидное, например, пусть парсить xG оно там есть в некоторых матчах, и ловить например первый тайм где сумма xG больше одного на гол в первом тайме. ну а если первый тайм 0-0 то ловить гол во втором тайме. при тех же условиях. ну или типа того. Да, я давно жду чего-то подобного, бота на основе xG Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513288 Поделиться на другие сайты Поделиться
OlegZ 31 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября (изменено) вот еще один пример: Твенте 1 : 0 Фортуна Ситтард Исход:П1 1.22 Тотал:Больше(1.5) 1.1 Индивидуальный тотал 1-го:Больше(1.5) 1.3 Обе команды забьют:Да 1.87 Изменено 26 сентября пользователем OlegZ Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513291 Поделиться на другие сайты Поделиться
OlegZ 31 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября (изменено) 37 минут назад, al88sm сказал: Обе Забьют тоже проходят, но коэффы там тоже не огонь) Все зависит сколько времени остается до конца матча и какие команды играют. Взял последние 35 матчей где счет был открыт с пенальти, процент выигрышных сделок на Обе забьют- составил 72% Изменено 26 сентября пользователем OlegZ 1 Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513293 Поделиться на другие сайты Поделиться
Модераторы al88sm 945 Опубликовано 26 сентября Модераторы Поделиться Опубликовано 26 сентября 19 минут назад, OlegZ сказал: вот еще один пример: Твенте 1 : 0 Фортуна Ситтард Исход:П1 1.22 Тотал:Больше(1.5) 1.1 Индивидуальный тотал 1-го:Больше(1.5) 1.3 Обе команды забьют:Да 1.87 оз вполне нормально выглядит сейчас уже 1.98. в принципе за 2.00 и выше можно взять. не плахой выхлоп Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513294 Поделиться на другие сайты Поделиться
maluky 23 Опубликовано 26 сентября Поделиться Опубликовано 26 сентября 48 минут назад, al88sm сказал: сама идея с ботом интересная, но нужно что то ликвидное, например, пусть парсить xG оно там есть в некоторых матчах, и ловить например первый тайм где сумма xG больше одного на гол в первом тайме. ну а если первый тайм 0-0 то ловить гол во втором тайме. при тех же условиях. ну или типа того. Подумаю над Вашей идеей Цитата Ссылка на комментарий https://brcbet.com/topic/429637-python-bot-na-penalti-v-pervom-tayme/#findComment-513295 Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.