возможно тормозит is_valid - что там не понятно
можно использовать pandas - им обрабатывать/валидировать данные и им же сохранять/открывать данные.
можно сохранять данные пачкой, а не построчно - может тут затык
потому что если бы вы написали код, то понимали почему ничего не происходит, а так как на копипастили без понимания, что к чему и зачем, то и не работает.
Выход один учить основы прежде написания бота
тут дело не в питоне, а подходе. Можно но извращаться и расковырять как правильно авторизоваться, а можно взять нужную либу для почты и пользоваться ей.
если сначала пойти в гугл и загуглить то можно найти сразу сайт откуда можно скачать и устоновить. files.portaudio.com
далеко не все что нужно разным либам в питоне есть и будет в pip, pip - только пакетный менеджер для питона.
А либы могут хотеть например сишных зависимостей
DTPlayer, у вас тут все прям очень плохо
1.вы стартуете потоки из нескольких мест
2. у вас рекурсия которая запускает потоки
3. вы пытаетесь использовать треды и асинхронность - лучше использовать что-то одно
Переработайте структуру, используйте что-то одно, уберите рекрсию тут она выглядит избыточной
Elick, в гугле по запросу bet365 api выдает сдк для питона, что конкретно оно позволяет я хз.
Но из того что я посмотрел, просто их парсить не выйдет, а не просто не факт что надежно и результативно будет
ну есть разные способы определить что используется селениум, и судя потому что они запарились грузить парсеров, то просто обойти защиту скорее всего не выйдет.
у них есть офф апи, пользуйтесь им.
arteem64, для чтения просто текстовых файлов есть open, для csv файлов - csv_reader, для json - json, и так далее.
по tkinter тоже есть куча гайдов. надо просто гуглить