Pull to refresh

Comments 16

Субъективно, но по опыту ничего проще чем puppeteer + extra-plugin-stealth не нашел, очень редко срабатывали защиты, и то они срабатывали скорее из-за нетипичного поведения, для быстрого прототипирования самое то, можно сосредоточиться на результате и не думать о палках в колесах

Думаю, да, в определенных ситуациях это и есть оптимальное решение.

Я puppeteer не пробовал, но попробовал Selenium, насколько я знаю, у них примерно одинаковый принцип работы. Добиться стабильной работы в связке с C# не получилось, и я пошел делать расширение. Если бы получилось — остановился бы на нем.

В puppeteer имеется аналог selenoid или selenium hub?

Последний год имел тесное знакомство с парсингом амазона, ебея и волмарта. Вот волмарт послал куда подальше с этой связкой.

Проблема в том, что headless браузер выдает отрицательный результат при одной из проверок. И это никак нельзя обойти, кроме как писать инъекцию в код сайта.

Однако, если запустить headful браузер, то проблемы нет. Так что просто запихнул все в докер, подрубил туда графическую оболочку, и пошло поехало. Спокойно на 1к проксей это обкатывал.

Ну и да, я бы отметил, что эмуляция браузера под каждый запрос страницы как правило не нужна. Я обычно проводил первичную инициализацию через браузер, сохранял куки, затем эти куки юзал в обычных хттп запросах. Затем если ловил капчу - вызывал браузер для ее решения.

Проблема в том, что headless браузер выдает отрицательный результат при одной из проверок. И это никак нельзя обойти, кроме как писать инъекцию в код сайта.


Мне интересно по какому параметру был детект, сможете припомнить?

Можно попробовать на самой странице по таймеру делать document.location.reload();

Что то типа такого (раз в 5 секунд)
reloader = setTimeout(reload, 5000);

function reload(){
document.location.reload()

};

UFO just landed and posted this here

Спасибо за ссылку.

Возможно, я делаю что-то не так, но проверку cloudflare такой метод у меня не проходит.

UFO just landed and posted this here

Возможно, установить этот параметр в false будет достаточно для headless режима. А вообще, есть такая возможность? Протестирую, когда будет возможность.


Когда я исследовал работу Selenium, то дело было не в этом, там в контексте страницы появляется глобальная переменная вида "cdc_*", и требуется патч для драйвера.

Есть, но есть другая проверка, которую нельзя обойти

Версия, которая, теоретически, не детектируется, не определяется при
первом посещении сайта запущенным браузером, но детектируется со второго
посещения. Почему — непонятно. Браузер нужно постоянно перезапускать.

Я видел пример такой реализации. Там код вебдрайвера загружался при первом обращении к его api, а не сразу при старте браузера. На самом деле самое эффективное прохождение cloudflare

Спасибо большое за туториал, сохранил на память. Парсил сайт под защитой Cloudflare, нужны были json в ответ на гет запрос. На удивление, хватило всего лишь подмены заголовка для проверки. А вот с доступам к изображениям такой подход не подошел, теперь есть над чем подумать и как реализовать обход.

Sign up to leave a comment.

Articles

Change theme settings