Комментарии 11
А всё-таки в Selenium это никак нельзя встроить? Очень надо ))
Можно в playwright
https://github.com/Kaliiiiiiiiii-Vinyzu/patchright
Селенум не люблю, но для него есть
https://github.com/ultrafunkamsterdam/undetected-chromedriver
Undetected_chrome_driver вам пригодится)
Пробовал на https://www.teacherspayteachers.com/ за клаудом с жесткой антибот политикой. Палится. Натыкаюсь на каптчу
Интересно, а как n8n и прочая ИИшница может помочь преодолевать этот самый бот-чек?
Там всё на основе фингерпринтинга и скоринга. Плохой браузер - отлуп, плохой айпишник - отлуп или капча. ИИ тут как телеге пятое колесо
Пара уточнений к транспортной части, обе из документации
impersonate="chrome124" лучше заменить на impersonate="chrome" - в curl_cffi это алиас на актуальную версию, он обновляется вместе с библиотекой. Пинить конкретную версию есть смысл только там, где нужна воспроизводимость замера: фингерпринт Chrome 124 при живом Chrome 14x сам по себе аномалия - старый браузер, который почему-то ходит по интеу)
Второе, менее заметное как мне каж. r.status_code == 200 не значит, что вы получили страницу. Cloudflare документирует ровно один надёжный признак челленджа: заголовок cf-mitigated: challenge, он присутствует независимо от типа челленджа, и content-type у челленджа всегда text/html. Статус-код при этом ни к чему не привязан. Без такой проверки success rate парсера считается по страницам-заглушкам, и чем лучше работает impersonate, тем незаметнее ошибка
https://developers.cloudflare.com/cloudflare-challenges/challenge-types/challenge-pages/detect-response/
Год назад успешно сработал просто Firefox через playwright. Но возможно headless отключал (точно не помню). Перед этим потратил пару дней на попытки прикрутить всяких анти-бот плагины к хромиуму
https://github.com/Flaresolverr/Flaresolverr

Как парсить сайты за Cloudflare