Условие задания
Задание - авторизация и размещение ставок на сайте Бетсити
Гостевой счет g8657706 - 11707844
Написать скрипт, который залогинится на сайте, получит баланс.
Текущую сессию надо будет сохранить, чтобы при следующем цикле не логиниться заново.
На вкладке LIVE https://betcityru.com/ru/live В любом событии разместить ставку из диапазона 10-200руб (с точностью до рубля, если сумма ставки превышает текущий баланс - то равную текущему балансу) на победу первой команды (колонка "1"), получить статус размещения, сохранить ID и статус заявки.
Повторить 4 раза (события должны быть разными, суммы ставки - тоже)
Библиотеки:
mechanize - для запросов redis - сохранение данных
Решение и сложности
- mechanize сразу отпал, так как он не умеет выполнять JS
- на сайте мало хороших элементов, к которым можно привязаться в HTML, пришлось писать сложные xpath запросы
- сайт не всегда быстро отвечает и рендерится, пришлось добавить механизм retry
- Контент на сайте часто меняется -> retry
- browserup-proxy - интересное прокси решение, для того чтобы просматривать внутренности ajax запросов и т.д, но у меня не взлетел, тоесть не показывает, что внутри запроса (оставить на TODO). Возможно, это связано с тем, что запрос шифруется.
- ID и статус заявки с JSON ответа вытащить не удалось, соотвественно, всю статистику по опперацию собрать не получилось.