- Как заказать парсер сайта
- Видеоинструкции по настройке
- Возможности программы-парсера
- Действия в парсере
- Раздел «Работа с HTML»
- Раздел «Текстовые»
- Раздел «Перекодировка и форматирование»
- Раздел «Проверка и сравнение»
- Раздел «Разное»
- Раздел «Функции массива»
- Раздел «Числовые»
- Раздел «Работа с переменными»
- Раздел «Листы и книги Excel»
- Раздел «Обработка файлов из папки»
- Раздел «HTTP запрос»
- Раздел «Internet Explorer»
- Раздел «Управление парсером»
- Раздел «Веб-запросы, XML, макросы VBA»
- Недокументированные действия
- Работа с браузером (Chrome и т.п.)
- Отключенные (устаревшие) действия
- Интерфейс программы
- Использование браузера
- Ошибки при парсинге
- Вывод массива значений в одну ячейку
Обход защиты Qrator, Incapsula и CloudFare
- Ошибка: сервер не ответил за 9 секунд
- Парсер перезаписывает данные в первой строке листа
- Невозможно запустить макрос, - нет доступа к проекту VBA
- Ошибка Compile error in hidden module
- Ошибка загрузки страницы по HTTPS (SSL Error)
- Дополнительные возможности
- Зарезервированные переменные и подстановочные коды парсера
- Кеширование страниц в парсере
- Переменные в парсере
- Обновление строк в существующей таблице при парсинге
- Переключение между наборами настроек в парсере
- Запуск мониторинга цен по расписанию
- Запуск парсера по расписанию
- Программный запуск парсера из внешнего макроса
- Доп. опции парсера (файл parser.ini)
- Наборы действий
- Прочие статьи по настройке парсера
- Коды останова парсера, и перехода на другое действие
- Плагины для парсера
- Запуск нескольких парсеров по очереди
- Обработка капчи (Captcha) в парсере
- Прокси серверы
Обход защиты Qrator, Incapsula и CloudFare |
На некоторых популярных сайтах устанавливается защита от DDoS, когда при запросе страницы сайта сначала выдаётся промежуточная страница с javascript, которая выполняет проверку на браузер (роботы / парсеры обычно не используют браузер, потому не проходят эту проверку), и, только если проверка пройдена, этот скрипт перенаправляет вас на ту же страницу, только уже с реальным её содержимым.
Скрипт этот выполняет некоторые вычисления, потом устанавливает Cookies, и при следующем запросе этой же страницы передаются эти Cookies, — так сайт определяет, что проверка на браузер успешно выполнена.
Как проверить, проблема в защите сайта от DDoS, или в чём-то другом?
В случае использования подобной защиты (Qrator, Incapsula, CloudFare и т.п.), в коде страницы вместо данных будет одна или несколько ссылок на файлы со скриптами js
Как обойти эту защиту при использовании парсера?
Вариант 1
- загружаем любую страницу сайта (например, главную) в браузере Internet Explorer
- ждём несколько секунд пока отработает скрипт
- убеждаемся что на странице прогрузились данные (что произошел редирект после выполнения скрипта)
- считываем Cookies из Internet Explorer
- выполняем запросы к сайту с использованием этих Cookies (действие Загрузить страницу по ссылке, режим загрузки — WinHTTP)
Вариант 2
Рассмотрим этот вариант на примере сайта leroymerlin.ru с защитой Qrator.
Там страницы разделов грузятся без проблем, а вот для страниц товаров срабатывает защита.
При загрузке страницы товара парсером, мы получаем очень короткий ответ:
В ответе мы видим запуск скрипта: <script src="/__qrator/qauth_utm_v2.js"></script>
Значит, это как раз тот случай, когда надо обходить такую защиту.
- читаем иструкцию по обходу подобных защит
- ищем список IP этого сайта:
https://viewdns.info/iphistory/?domain=leroymerlin.ru - берем второй IP адрес из списка (прямой адрес сайта), подставляем его в ссылку на товар вместо адреса сайта, и проверяем ссылку в браузере:
http://178.248.234.184/product/hozblok-metallicheskiy-2-05x2-57x2-02-sm-84759919/
ура, страницы отображаются в браузере, — значит, с большой вероятностью мы справимся с обходом блокировки - проверяем загрузку парсером — уже лучше, но получаем ошибку 403:
- добавляем заголовки запроса из браузера, проверяем, — всё заработало:
Действие Параметр Значение Создать новый экземпляр WinHTTPRequest Сброс Cookies и заголовков запроса да Добавить заголовок запроса Заголовок Accept Значение text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Использовать для ВСЕХ запросов да Добавить заголовок запроса Заголовок Connection Значение keep-alive Использовать для ВСЕХ запросов да Добавить заголовок запроса Заголовок Host Значение 178.248.234.184 Использовать для ВСЕХ запросов да Добавить заголовок запроса Заголовок Upgrade-Insecure-Requests Значение 1 Использовать для ВСЕХ запросов да Добавить заголовок запроса Заголовок User-Agent Значение Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36 Использовать для ВСЕХ запросов да Загрузить страницу по ссылке Способ загрузки WinHTTP Кеширование URL Дополнительные опции
- Добавить комментарий
- 8935 просмотров
Комментарии
Просто используйте браузер Google Chrome для работы с этим сайтом.
Инструкция писалась в то время, когда мой парсер не умел взаимодействовать с современными браузерами.
Способ рабочий для leroymerlin.ru на сентябрь 2023?
Простите. Ещё такой момент. Это информация с сайта
Версия протокола: "TLSv1.3"
Набор шифров: "TLS_AES_256_GCM_SHA384"
Группа обмена ключами: "x25519"
Схема подписи: "RSA-PSS-SHA256"
Узел allegro.pl:
Там Версия протокола:"TLS v1.3" Это может как то мешать правильной работе парсера? Просто в настройках программы при проверке SSL для способов загрузки указана версия TLS v1.2. Спасибо.
Не могу сказать в чём проблема, у меня этот сайт не открывается.
А насчёт geo.captcha-delivery.com — это 2 капчи в одной: гугловская Recaptcha V2 и Geetest CAPTCHA
Сайт https://allegro.pl/. В предыдущем сообщении, не знаю почему, удалилась часть кода загруженной программой страницы. Там какая-то geocaptcha cid':'AHrlqAAAAAMAQjM4DzH1-UAAl-wZKw==','hsh':'77DC0FFBAA0B77570F6B414F8E5BDB', 't':'bv','s':29560, 'e':'b09ff2f4714f8d982537b981e872c4874e68ed1c298e34fbf1773fdee05d9e46', 'host':'geo.captcha-delivery.com'} на rucaptcha.com не нашёл поддержки даной капчи.
Можно обойти что? То что не грузится страница? Что через время сайт блокирует? Что страница грузится не в той кодировке?
Не зная про какой сайт речь, ничего сказать не могу. Но, ели страницы грузятся, - значит, можно обойти защиту.
При попытке winHTTP выдает (Please enable JS and disable any ad blocker)
с помощью WinInet, IE и браузера страница загружается. Но через некоторое время блокирует работу парсера. Подскажите это можно как то обойти?
После применения Пройти проверку на браузер (IE) и загрузки winHTTP Страница загружается { H ( ͉ m"}.
Также и при добавлении запросов. Можно как то это вылечить?
Сейчас парсер поддерживает работу с браузером Chrome, там эта защита обходится.
Уже не работает....