Требуется API, которое может отдать html код страницы (после прохождения защиты с js перенаправлениями), url которой ему послали. Существует сервис Variti который по сути проксирует запросы к сайту, отдавая страницу проверки с генерацией js хеша из параметров браузера и последующим перенаправлением. Пример сайта использующего сервис: bi-bi.ru
Соответственно через curl получить html код реальной страницы не представляется возможным.
При этом, такой сервис как import.io и ему подобные, умеют обходить эту защиту. Но мне нужно обязательно вытащить весь HTML код страницы, не добавляя предварительно url в конструктор сервиса.
То что вы называете защитой от парсинга - банальный JS.
Часть данных приходит к вам в виде html, а остальные данные запрашивают JS скрипты в вашем браузере.
Если вы не исполняете скрипты - вы не получаете эти данные.
Гарантированный метод - парсить через браузер.
Запускаете браузер, нужные скрипты исполняются, получаете данные.
Для экономии ресурсов браузер можно запускать в headless режиме - без визуального отображения.
Я готов платить, но не могу найти сервиса, который работает без визуального конструктора. Мне нужно API отдающее html, согласен покупать пакеты с опред. количеством запросов.
Никак! Решения (в паблике) нет. Иначе эти сервисы защиты уже не существовали бы.
Решение всегда есть.
Задача отличить человека использующего браузер от бота использующего браузер крайне нетривиальная, и вот ее решить крайне сложно, на грани фантастики.
Все защиты лишь усложняют парсинг.
ты не слышал о детекте хедлесс браузеров
Такое сделать возможно.
Однако во первых это непросто и редко кто использует, а во вторых это элементарно обходится - запуск браузера в обычном режиме.
Есть решения которые детектируют ботов по нехарактерным для пользователя действиям, например переходам напрямую. Это тоже обходится при желании без особых проблем.