tregor
@tregor
Senior PHP Backend developer

Как обойти защиту Cloudflare при парсинге?

Приветствую!

Предстоит задача - парсить сайт, который защищён от парсинга средствами Cloudflare.
Т.е. обычный file_get_contents вернёт HTTP ошибку 403.

Немного разобравшись в принципах и устройстве данной защиты пришёл к тому, что Cloudflare проксирует запросы и перед тем, как выдать HTML код, выдаёт некую "невидимую" JavaScript капчу. По сути эта капча - JS код который отрабатывает сразу после загрузки и позволяет загрузить оставшуюся часть страницы.
При обычных запросах само собой JS у нас не отрабатывает.

Пошарив по нету нашёл несколько устаревших решений а-дя Guzzle Cloudflare bypass, однако ни одно из готовых решений запустить не удалось.

Если я правильно понял алгоритм, нам необходимо делать запрос через браузер с отработкой JS. Для этого, в теории, должен подойти консольный headless браузер.

Вопросы:
1. Что такое headless бразуер? Я плохо это понял и ранее с подобным не работал.
2. Как можно организовать многопоточность (Много...вкладочность?) через такой headless браузер?
3. Сработает ли вообще такой подход для обхода защиты Cloudflare?
4. Какие подводные камни ожидать?

P.S.: Сейчас сижу разворачиваю на второй машине Docker c chromium и буду проверять теорию, но дабы не терять время решил сразу закинуть вопрос на хабр. Кто может помочь любым ответом или комментарием - буду безмерно благодарен!
  • Вопрос задан
  • 3730 просмотров
Пригласить эксперта
Ответы на вопрос 1
@FasterTans
1. Что такое headless бразуер? Я плохо это понял и ранее с подобным не работал.
Selenium, Puppeteer
2. Как можно организовать многопоточность (Много...вкладочность?) через такой headless браузер?
Взависимости от выбранного браузере вбиваете в гугл "многопоточность selenium\puppeteer"
3. Сработает ли вообще такой подход для обхода защиты Cloudflare?
Да, погуглите как обходить защиту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽