DTPlayer, у вас тут все прям очень плохо
1.вы стартуете потоки из нескольких мест
2. у вас рекурсия которая запускает потоки
3. вы пытаетесь использовать треды и асинхронность - лучше использовать что-то одно
Переработайте структуру, используйте что-то одно, уберите рекрсию тут она выглядит избыточной
Elick, в гугле по запросу bet365 api выдает сдк для питона, что конкретно оно позволяет я хз.
Но из того что я посмотрел, просто их парсить не выйдет, а не просто не факт что надежно и результативно будет
ну есть разные способы определить что используется селениум, и судя потому что они запарились грузить парсеров, то просто обойти защиту скорее всего не выйдет.
у них есть офф апи, пользуйтесь им.
arteem64, для чтения просто текстовых файлов есть open, для csv файлов - csv_reader, для json - json, и так далее.
по tkinter тоже есть куча гайдов. надо просто гуглить
ничего сложного нет открываешь любую статью по json python
потом статьи по list, dict python - преобразуешь весь этот список в dict {email:password .......}
и потом в обрабатываешь свои info и прочие файлы
longclaps, но таки ок с // мы выигрываем еще ~230 миллисекунд, с 1.3830578327178955 до 1.1459438800811768, что с первоначальными 24 секундами, незначительно.
И по факту это не предел, можно еще оптимизировать и оптимизировать. Это лишь один из вариантов оптимизации, в котором я не претендовал на эталонность
Потому, что как и много где происходит до загрузка данных средствами js, request - само собой js кож не выполняет.
Вариантов два:
1. разбираться что там происходит и до загружать данные выполняя те же запросы.
2. использовать селениум или аналоги
RINAMI, телепатов тут как бы нет, и ни кто не будет угадывать, что и где и как вы написали, а будут исходить из кода и ошибки
передать в функцию kerin_kick еще и user_id
что бы разбить строку '~kick "айди пользователя"' есть метод у строки split