Задача не из простых, я хочу сделать бота, который заходит в личный кабинет wb partners и парсит оттуда данные. Как я понимаю, сначала мне нужно запрашивать у пользователя номер телефона для логина, потом код из смс, но не в этом проблема. При логине я вижу следующие запросы на сервер во владке "Network":
Тело запроса:
{
"capthca-token": "",
"phone-number": "номер телефона, начинающийся с 79..."
}
Ответом является объект:
{"result":3,"error":"need captcha","payload":{}}
То есть, браузер сначала делает запрос без капча-токена, получает ответ что нужна капча, затем вижу запрос javascript-файлов
{
"solvePath": "/scripts/solve.wasm?7b450d09",
"execPath": "/scripts/wasm_exec.js?5c7aa861",
"dPath": "/scripts/d.js?7eec71a7"
}
где наверное и заложена капча, затем я вижу запросы get-task?client_id=..., причем этот клиент-айди как я понял один и тот же, тестировал при нескольких запросах. Итак, в строке запроса мы передаем этот клиент-айди, а в теле запроса я вижу большую строку с непонятным мне содержимым, что-то вроде "asfiUE324unfeufb32ubuEHf..." и так 4705 символов. Ответом на этот запрос является объект с количеством ответов, тайм-штампом и хешем
{
"timestamp": 1735329452,
"value": "v1b8d8acb0276e72a17c057800838d6b4cbfc4af9498b5010e22bf2d17a07001",
"threshold_hex": "07ffffffffffffffffffffffffff....(много f)",
"match_bits": 5,
"buffer_len": 64,
"answers_count": 5,
"r": 8,
"n": 8,
"client_id": "f62be0c0-9a37-4c2f-bd0f-6cfc51190fe8",
"sign": "27a3cd9d68992041b1dc2943c0763716acf78acd2f6ce0b5df1b839da33a76de"
}
Далее я вижу запрос скрипта solve.wasm, в ответе ничего нет Затем вижу запрос verify-captcha, где передается массив с ответами answers: [3845, 3853, 3872, 3877, 3880] и вышестоящий json-ответ. Из ответа на verify-capthca мы получаем "wb-captcha-short-token", вызываем заново wb-captcha с тем же номером телефона и значением "wb-captcha-short-token" в поле "captcha-token", и вот теперь мы получаем ответ
{
"result": 0,
"payload": {
"auth_method": "sms",
"ttl": 60,
"sticker": "5e430d45-23e6-4c46-96eb-0141c695e70b"
}
}
и код приходит на номер телефона.
У меня совсем нет идей как я могу это реализовать. Может есть тут опытные парсинг-специалисты?)