ScraperFlyAPI веб-данных для AI

rendering

API для рендеринга HTML для публичных страниц на JavaScript

Получайте публичные страницы после того, как JavaScript на стороне браузера построил полезный DOM. ScraperFly помогает разработчикам сравнивать исходный HTML с рендеренным HTML, возвращать разметку, готовую для парсинга, и использовать рендеринг как контроль запросов на основе доказательств, а не как стандартную стоимость для каждого URL.

Рендеринг HTML захвата

Захватите DOM после завершения JavaScript на странице

Некоторые публичные страницы возвращают полезный контент в первом HTML-ответе. Другие отправляют тонкую оболочку и строят статью, список продуктов, таблицу, маршрут или результат поиска только после выполнения JavaScript на стороне браузера. Рендеринг HTML предназначен для второго случая: когда парсеру нужен окончательный DOM, а не просто исходная разметка.

ScraperFly позволяет командам сравнивать сырой HTML с HTML, отрендеренным браузером, а затем включать рендеринг только для целей, которые доказывают, что они в этом нуждаются. Вы сохраняете простые страницы быстрыми и доступными, при этом имея чистый путь к обновлению для публичного контента, созданного с помощью JavaScript.

сырой vs отрендеренныйDOM завершенразметка, готовая для парсера
Разработчики сравнивают исходный HTML с отрендеренным HTML после завершения выполнения браузера

Что такое API рендеринга HTML?

API рендеринга HTML получает публичную страницу, выполняет JavaScript на стороне браузера, ждет, пока состояние страницы стабилизируется, и возвращает результирующую HTML-разметку. Вместо того чтобы парсить оригинальный исходный ответ, ваше приложение получает DOM после того, как фронтенд успел создать полезный контент.

Это отличается от скриншота или PDF. Скриншот подтверждает, как выглядела страница. PDF предоставляет переносимый визуальный отчет. Рендеринг HTML сохраняет страницу в виде разметки, так что парсеры все еще могут проверять заголовки, ссылки, таблицы, атрибуты, карточки продуктов, тела статей, пагинацию, встроенные данные и повторяющиеся шаблоны DOM.

Практическое замечание: используйте рендеринг HTML, когда JavaScript изменяет разметку, необходимую вашему парсеру, а не когда простой исходный запрос уже возвращает полный контент.

Когда странице следует использовать рендеринг HTML вместо сырого HTML?

Решение должно основываться на доказательствах. Начните с сырого HTML, проверьте, что возвращается, и сравните это с рендерингом. Если исходный ответ уже содержит полезное тело статьи, таблицу, данные о продукте, ссылки или метаданные, оставьте запрос легким. Если исходный ответ не содержит контента, содержит пустые контейнеры маршрутов или только показывает заполнители, рендеринг HTML является лучшим вариантом.

Целевое поведениеЧто показывает сырой HTMLЛучший запрос
Статическая публичная страницаПолный текст, ссылки и метаданные появляются в первом ответе.Используйте сырой HTML, текст или Markdown без рендеринга браузера.
Страница, рендеренная клиентомОтвет содержит оболочку приложения, контейнер маршрута или пустую область контента.Используйте рендеринг HTML, чтобы парсер видел завершенный DOM.
Задержанный контентВажные карточки или таблицы появляются только после завершения асинхронных запросов.Используйте рендеринг с измеренной задержкой, а не слепыми повторными попытками.
Нужна проверка макетаПарсеру нужна разметка, но рецензенты также нуждаются в визуальных доказательствах.Используйте рендеринг HTML для парсинга и скриншоты или PDF только для выбранных доказательств.
Региональный или состоящий контентВидимый результат меняется в зависимости от языка, местоположения, файлов cookie или предыдущего состояния.Проверьте заголовки, маршрутизацию по странам или сессии перед тем, как сделать рендеринг по умолчанию.

Что команды могут извлечь из рендеринга HTML?

Рендеринг HTML все еще является HTML. Это делает его полезным, когда последующий код нуждается в селекторах, атрибутах, структурных отношениях, канонических ссылках, пагинации, карточках продуктов, загруженных комментариях, гидратированных телах статей или любом разделе страницы, который появляется после выполнения фронтенда. Он предоставляет вашему парсеру окончательную разметку, не заставляя человека читать скриншот.

API не отменяет необходимость в специфических для цели правилах. Ваше приложение все еще решает, какие поля важны, как проверяются записи, как обрабатываются дубликаты и куда идет извлеченные данные. ScraperFly обрабатывает захват: выполнение браузера, параметры запроса, форматы ответов, метаданные и управление доставкой.

Нужда парсераРендеринг HTML помогает, потому чтоПолезный сопутствующий вывод
Карточки продуктов или списковОкончательный DOM содержит повторяющиеся элементы, которые могут отсутствовать в исходном ответе.JSON-метаданные для статуса и окончательного URL.
Захват тела статьиГидратированный контент может быть распарсен как разметка после выполнения браузера.Текст или Markdown для удобного просмотра.
Страницы поиска или категорииРендеренные секции открывают ссылки, фильтры, пагинацию и видимый порядок.Скриншот для периодического QA-доказательства.
Мониторинг рабочих процессовПарсер может сравнивать завершенную разметку вместо пустых оболочек.Метаданные и размер ответа для диагностики изменений.
Ингеста AI или RAGРендеринг HTML может быть преобразован в более чистый текст или Markdown после появления динамического контента.Markdown для контекста, готового для модели.

Для более широких решений по форматам сравните форматы ответов API веб-скрапинга. Если ваш рабочий процесс требует полного пути выполнения браузера, также ознакомьтесь со страницей API рендеринга JavaScript.

Как командам тестировать рендеринг HTML перед производством?

Выберите несколько представительных публичных URL и протестируйте их в API Builder. Сравните сырой исходный HTML, рендеринг HTML, размер ответа, окончательный URL, тип контента и время ожидания. Цель не в том, чтобы включить рендеринг повсюду. Цель состоит в том, чтобы определить, какие целевые группы нуждаются в этом, а какие могут оставаться на более дешевом, быстром профиле запроса.

Когда рендеринг запроса пуст, не спешите переписывать парсер. Сначала проверьте, перенаправила ли страница, вернула ли состояние согласия или блокировки, требовала ли более длительного ожидания, изменилась ли по стране или языку, или вернула ответ, который слишком велик для предполагаемого захвата. Хорошая отладка отделяет проблемы захвата от проблем парсера.

Практическое замечание: рендеринг HTML должен быть проверен на реальных целевых страницах, прежде чем он станет частью повторяющегося рабочего процесса.

Как рендеринг HTML влияет на стоимость и надежность?

Работа браузера тяжелее, чем простой запрос. Именно поэтому ScraperFly рассматривает рендеринг как целенаправленное управление запросами. Простая публичная страница не должна нести такие же операционные расходы, как страница с тяжелым JavaScript, которая требует выполнения браузера, ожидания, скриншотов, файлов, маршрутизации по странам или премиум-доставки.

Используйте бесплатные кредиты для тестирования сырых и рендеренных результатов. Сохраняйте простые захваты на исходном HTML, тексте или Markdown. Добавляйте рендеринг только там, где это улучшает полноту. Используйте кредиты по мере необходимости, пока цели и объем все еще неопределенны, затем переместите предсказуемые повторяющиеся рендеренные рабочие нагрузки на месячные кредиты, как только шаблон будет доказан. Страница цены и калькулятор стоимости кредитов помогут сопоставить вес запроса с реальным поведением цели.

Где рендеринг HTML вписывается в рабочий процесс ScraperFly?

Рендеринг HTML находится между базовым захватом HTML и полностью визуальным выводом. Начните с API захвата HTML, когда исходная разметка завершена. Перейдите к рендерингу HTML, когда JavaScript создает полезный DOM. Выбирайте текст или Markdown, когда последующий потребитель нуждается в читаемом контенте вместо селекторов. Добавляйте скриншоты или PDF, когда рабочий процесс требует доказательства внешнего вида.

Это позволяет командам сохранять первый запрос простым, делать эскалацию основанной на доказательствах и предоставлять парсерам необходимую разметку. Результат — меньше индивидуальной инфраструктуры браузера, меньше слепых повторных попыток и более чистый путь от тестирования цели к захвату в производстве.

Подходящий рендеринг цели

Подтвердите, что JavaScript изменяет DOM, прежде чем сделать рендеринг по умолчанию

Рендеринг HTML наиболее эффективен, когда исходная разметка неполная, и выполнение браузера создает контент, необходимый вашему парсеру. Проверьте сырой HTML, окончательный URL, размер ответа, видимое состояние и время ожидания перед масштабированием профиля рендеринга.

Сырой HTML-ответ, сопоставленный с видимыми данными страницы
01

Доступность сырого HTML

Проверьте, присутствуют ли необходимые вам поля уже в первом HTML-ответе.

Лучший первый тест для простых страниц, статей, документов, списков и деталей продуктов.

Сравнение до и после рендеринга JavaScript
02

Зависимость от JavaScript

Сравните сырой HTML с отрендеренным DOM или скриншотом перед включением рендеринга браузера.

Используйте рендеринг, когда сырой HTML является лишь оболочкой, а скрипты создают полезный контент.

Cookies, согласие, контекст сессии и доступа для скрапинга
03

Состояние и контекст доступа

Определите, влияют ли cookies, согласие, границы входа, пагинация или состояние одного и того же посетителя на ответ.

Используйте сессии и заголовки, когда непрерывность изменяет данные, которые вы получаете.

Региональные вариации контента по странам и маршрутам
04

Гео/вариация контента

Проверьте, изменяет ли страна, язык, валюта, запасы, SERP, реклама или репутация маршрута результат.

Используйте гео- или премиум-маршрутизацию только тогда, когда цель подтверждает, что ответ варьируется в зависимости от маршрута.

Вопросы по рендерингу HTML, на которые стоит ответить заранее

Где находится целевое поле?

Узнайте, существует ли поле в сыром HTML, отрендеренном DOM, вызове API, структурированных данных, файле или состоянии взаимодействия позже.

Что изменяет ответ?

Выберите несколько URL-адресов и сравните статус, конечный URL, длину контента, перенаправления, пустые состояния и различия в видимых результатах.

Какой контекст необходим?

Отметьте любую зависимость от согласия, локали, файлов cookie, заголовков, границ аутентификации, пагинации, фильтров или предыдущих запросов.

Как выглядит неудача?

Определите сигналы для заблокированных, частичных, устаревших, перенаправленных, пустых, истекших или несоответствующих регионам ответов перед масштабированием.

Сигналы для сравнения перед включением рендеринга

Режим получения

Доступность сырого HTML определяет, может ли первый запрос оставаться простым или требует рендеринга, ожиданий, скриншотов или извлечения.

Контекст запроса

Требования состояния определяют, нужно ли добавлять заголовки, файлы cookie, сессии, обработку согласия или стабильный профиль посетителя.

Выбор маршрута

Гео и репутационные данные определяют, достаточно ли стандартного маршрута или оправдан ли маршрут по стране/премиум.

Правила валидации

Известные состояния неудачи становятся проверками для повторных попыток, эскалации, проверки качества и решения о том, когда более легкий профиль все еще полный.

Создатель отрендеренного HTML

Создайте запрос, который возвращает только браузерный разметку, когда это необходимо целевой системе

Используйте API Builder для сравнения исходного HTML с отрендеренным HTML, выберите поведение ожидания и скопируйте канонический запрос, который дает вашему парсеру завершенный DOM без перегрузки простых целей.

Разметка
Разметка

Сырой и отрендеренный HTML

Начните с исходного HTML, затем включите рендеринг, когда выполнение браузера изменяет полезный DOM.

Время
Время

Ожидание полезного состояния страницы

Используйте управление ожиданием, когда карточки, статьи, таблицы или контент маршрута появляются после задержанной работы на стороне клиента.

Выбор вывода
Выбор вывода

Конвертируйте после рендеринга, когда это полезно

Возвращайте отрендеренный HTML для парсеров или выбирайте текст, Markdown, скриншоты или PDF, когда это необходимо конечному пользователю.

Контроль запросов для захвата отрендеренного HTML

url

Публичная страница, построенная на JavaScript, для захвата.

render

Запустите выполнение браузера, когда исходный HTML неполный.

render_wait

Ожидайте задержанного контента перед захватом, когда есть доказательства, что время имеет значение.

format

Возвращайте отрендеренный HTML или другой формат вывода после выполнения браузера.

country

Используйте маршрутизацию по странам, когда публичный контент меняется в зависимости от местоположения.

download

Возвращайте визуальные файлы, когда требуется скриншот или PDF-доказательство.

пример cURL

Генерируйте Markdown с той же формой запроса, которую вы можете использовать в производстве

curl "https://scraperfly.com/api/v1?url=https%3A%2F%2Fexample.com&format=markdown" \
  -H "apikey: YOUR_API_KEY"

Контроль затрат на рендеринг

Сохраняйте доступность рендеринга, используя его только там, где это улучшает полноту

Выполнение в браузере тяжелее, чем простой запрос HTML, поэтому оно должно занять свое место в профиле запроса. ScraperFly помогает командам начинать с легкого захвата, тестировать рендеринг на реальных целях и резервировать более тяжелые контролы для страниц, где рендеренный DOM изменяет результат.

Легкий HTML-запрос, возвращающий простой ответ
01

Базовый запрос

Используйте базовый запрос, когда публичный HTML уже содержит необходимые вам поля.

Самый легкий профиль запроса; сохраняйте его, когда ответ завершен.

Рендеринг JavaScript, создающий полный DOM
02

Рендеринг

Используйте рендеринг, когда сырой HTML является оболочкой, а JavaScript завершает страницу.

Более тяжелый профиль; используйте его только когда вывод браузера изменяет результат.

Несколько запросов с сохранением cookies и состояния посетителя
03

Состояние сессии

Используйте сессии, когда cookies, согласие, локализация или пагинация изменяют ответ.

Более тяжелый профиль состояния; сохраняйте его только когда важна непрерывность.

Маршрутизация запросов через гео и более качественные маршруты
04

Премиум маршрутизация и гео

Используйте премиум маршрутизацию или гео только когда источник, страна, репутация или региональный контент изменяют результат.

Самый тяжелый профиль маршрутизации; применяйте его только к целям, которые доказывают, что они в этом нуждаются.

Что делает рендеренные запросы более тяжелыми

Больше инфраструктурной работы

Рендеринг в браузере, выбор маршрутов и более длительное ожидание означают, что платформе нужно делать больше, чем просто возвращать простой ответ.

Больше неопределенности цели

Перенаправления, пустые состояния, ограничения по скорости и страницы с вызовами часто требуют более сильных вариантов доставки или повторных попыток.

Больше состояния для сохранения

Cookies, сессии, согласие и многостраничные потоки добавляют движущиеся части, которых нет у простого безстатусного запроса.

Больше доказательств для возврата

Скриншоты, PDF-файлы, отрендеренный вывод и более богатые артефакты ответа полезны, но они тяжелее, чем простой HTML.

Как сохранить предсказуемость рендеренного HTML

Протестируйте перед масштабированием

Сначала протестируйте небольшой набор URL и группируйте цели по самому легкому профилю, который возвращает полные данные.

Не рендерить по умолчанию

Проверьте сырой HTML перед включением рендеринга. Многие публичные страницы уже содержат необходимые вам данные.

Эскалируйте по фактам

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

Измеряйте полезные результаты

Оптимизируйте на основе действительных записей, а не объема сырых запросов. Более легкий профиль лучше всего, только когда он остается полным.

Часто задаваемые вопросы о рендеренном HTML

Распространенные вопросы о захвате рендеренного HTML

Практические ответы для команд, решающих, когда рендерить публичные страницы, как сравнивать сырой и рендеренный разметки и как выбрать правильный вывод после выполнения в браузере.

Отображаемый FAQ

Сценарии использования рендеренного HTML

Для команд, парсящих публичные страницы, построенные на JavaScript, без поддержки инфраструктуры браузера.

Что означает рендеренный HTML?

Рендеренный HTML — это разметка после выполнения JavaScript на стороне браузера и построения финального DOM для публичной страницы.

Когда сырой HTML достаточно?

Сырой HTML достаточно, когда первый ответ уже содержит полезный текст, ссылки, таблицы, карточки или метаданные, необходимые вашему рабочему процессу.

Проверки сырого и рендеренного

Сравните доказательства перед изменением профилей запросов.

Как узнать, нужно ли рендеринг?

Сравните исходный HTML с рендеренным HTML и проверьте статус, финальный URL, размер ответа, тип контента, видимое состояние и время ожидания.

Должен ли я использовать ожидание рендеринга?

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

Форматы после рендеринга

Рендеринг может обеспечивать различных потребителей на downstream.

Могу ли я получить Markdown после рендеринга?

Да. Рендерите страницу, когда это необходимо, затем выбирайте Markdown, если читаемые заголовки, ссылки и разделы лучше для обзора или поглощения ИИ.

Когда мне следует использовать скриншоты вместо этого?

Используйте скриншоты, когда человеку нужно визуальное доказательство внешнего вида страницы. Используйте рендеренный HTML, когда парсеру нужен разметка.

Вес запроса

Держите выполнение браузера привязанным к проверенным целям.

Стоит ли рендеренный HTML дороже, чем сырой HTML?

Рендеренный захват тяжелее, потому что он выполняет работу браузера. Начните с сырого HTML и включайте рендеринг только тогда, когда это улучшает ответ.

Могу ли я смешивать сырьевые и рендеренные запросы?

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