Я хочу спарсить нужные мне объявления Olx и получить все данные, включая номер. Для того чтобы там получить номер нужно быть авторизированым и нажать на кнопку "Показать номер". Не могу найти способ решить две эти задачи. Во первых как авторизироваться там, ведь на страницы авторизации есть капча, второй вопрос как мне заставить скрипт curl нажимать на кнопку?
Объявления я паршу с помощью curl и xpath.
Я знаю что это точно возможно, потому что есть несколько рабочих парсеров. В гугле все решения устаревшие, был вариант через мобильное api но его закрыли. Не могу понять как сейчас парсят все остальные.
Даниил Сухих, Если номер уже присутствует в разметке в зашифрованном виде, вам нужно понять как его расшифровать. Изучайте код сайта. Я думал по кнопке делается дополнительный запрос за номером, так оно как-то надежнее выглядит.
Даниил Сухих, можно в обычном режиме браузера зайти на олкс и нажать "Inspect element" правой кнопкой, тогда можно будет увидеть, есть ли в этом элементе отрендереный, но скрытый телефон автора. Я глянула ради интереса - нет его там, иначе бы было слишком легко)
Если капча не показывается для живых юзеров, то можно попробовать через selenium с подключенным профилем парсить сайт. Если все равно капча остается, то тогда действительно читать как ее обходить
при нажатии на "Показать номер" отправляется два запроса, первый из них это GET как раз таки на получения номера телефона, где номер приходит в ответе. В урле указываете айдишник объявы и смотрите
{"error":"invalid_token","error_description":"Token is not present or passed in wrong way","error_human_title":"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d."}