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 лише для вибраних доказів.
Регіональний або станний контентВидимий результат змінюється залежно від мови, місця, куків або попереднього стану.Перевірте заголовки, маршрути країни або сесії перед тим, як зробити рендеринг за замовчуванням.

Що можуть витягувати команди з рендереного HTML?

Рендерений HTML все ще є HTML. Це робить його корисним, коли подальший код потребує селекторів, атрибутів, структурних відносин, канонічних посилань, пагінації, карток продуктів, завантажених коментарів, гідратованих тіл статей або будь-якої секції сторінки, яка з'являється після виконання фронтенду. Це дає вашому парсеру фінальну розмітку без необхідності змушувати людину читати скріншот.

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

Потреба парсераРендерений HTML допомагає, тому щоКорисний супутній вихід
Картки продуктів або списківФінальний DOM містить повторювані елементи, які можуть не бути включені у вихідну відповідь.JSON-метадані для статусу та фінальної URL.
Захоплення тіла статтіГідратований контент може бути проаналізований як розмітка після виконання браузера.Текст або Markdown для зручного перегляду.
Сторінки пошуку або категорійРендерені секції відкривають посилання, фільтри, пагінацію та видиме упорядкування.Скріншот для періодичного підтвердження якості.
Моніторинг робочих процесівПарсер може порівнювати завершену розмітку замість порожніх оболонок.Метадані та розмір відповіді для діагностики змін.
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 є лише оболонкою, а скрипти створюють корисний контент.

Куки, згода, контекст сесії та доступу для скрапінгу
03

Стан і контекст доступу

Визначте, чи впливають куки, згода, межі входу, пагінація або той самий стан відвідувача на відповідь.

Використовуйте сесії та заголовки, коли безперервність змінює дані, які ви отримуєте.

Регіональні варіації контенту в різних країнах і маршрутах
04

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

Перевірте, чи змінюють країна, мова, валюта, інвентар, SERP, реклама або репутація маршруту результат.

Використовуйте гео- або преміум-маршрути лише тоді, коли ціль підтверджує, що відповідь змінюється залежно від маршруту.

Питання рендереного HTML, на які варто відповісти рано

Де знаходиться цільове поле?

Знайдіть, чи існує поле в сирому HTML, відрендереному DOM, виклику API, структурованих даних, файлі або пізнішому стані взаємодії.

Що змінює відповідь?

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

Який контекст потрібен?

Позначте будь-яку залежність від згоди, локалі, куків, заголовків, межі аутентифікації, пагінації, фільтрів або попередніх запитів.

Як виглядає невдача?

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

Сигнали для порівняння перед увімкненням рендерингу

Режим отримання

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

Контекст запиту

Вимоги до стану визначають, чи потрібно додавати заголовки, куки, сесії, обробку згоди або стабільний профіль відвідувача.

Вибір маршруту

Гео та репутаційні дані визначають, чи достатньо стандартного маршруту або виправданий маршрут країни/преміум.

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

Відомі стани невдачі стають перевірками для повторних спроб, ескалації, перевірки якості та визначення, коли легший профіль все ще є повним.

Конструктор відрендереного HTML

Створіть запит, який повертає лише браузерно-відрендерений розмітку, коли це потрібно цілі.

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

Розмітка
Розмітка

Сирий і рендерений HTML

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

Час
Час

Чекайте на корисний стан сторінки

Використовуйте контролі очікування, коли картки, статті, таблиці або контент маршрутів з'являються після затриманих робіт на стороні клієнта.

Вибір виходу
Вибір виходу

Конвертуйте після рендерингу, коли це корисно

Поверніть відрендерений HTML для парсерів або виберіть текст, Markdown, скріншоти або PDF, коли це потрібно downstream споживачу.

Запит контролю для захоплення відрендереного 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 завершує сторінку.

Важчий профіль; використовуйте його лише тоді, коли вихід браузера змінює результат.

Кілька запитів з збереженням куків та стану відвідувача
03

Станова сесія

Використовуйте сесії, коли куки, згода, локалізація або пагінація змінюють відповідь.

Важчий профіль стану; зберігайте його лише тоді, коли важлива безперервність.

Маршрутизація запитів через гео та маршрути вищої якості
04

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

Використовуйте преміум маршрутизацію або гео лише тоді, коли походження, країна, репутація або регіональний контент змінюють результат.

Найважчий профіль маршрутизації; застосовуйте його лише до цілей, які доводять, що вони його потребують.

Що робить рендерені запити важчими

Більше роботи з інфраструктурою

Рендеринг браузера, вибір маршрутизації та довші очікування означають, що платформа повинна виконувати більше, ніж просто повертати просту відповідь.

Більша невизначеність цілі

Редиректи, порожні стани, обмеження швидкості та сторінки викликів часто вимагають більш потужних варіантів доставки або повторних спроб.

Більше стану для збереження

Cookies, сесії, згода та багатосторінкові потоки додають рухомі частини, яких немає у простому безстатевому запиті.

Більше доказів для повернення

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

Як зберегти рендерений HTML передбачуваним

Вибірка перед масштабуванням

Спочатку протестуйте невелику вибірку URL та групуйте цілі за найменшим профілем, який повертає повні дані.

Не рендерити за замовчуванням

Перевірте сирий HTML перед увімкненням рендерингу. Багато публічних сторінок вже містять необхідні вам дані.

Ескалація за доказами

Підвищуйте лише тоді, коли відповідь показує відсутній контент, залежність стану, гео варіацію або проблеми з маршрутизацією.

Вимірюйте корисні результати

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

Часті запитання про рендерене HTML

Загальні питання про захоплення рендереного HTML

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

Відображене FAQ

Випадки використання рендереного HTML

Для команд, які парсять публічні сторінки, створені за допомогою JavaScript, без підтримки інфраструктури браузера.

Що означає рендерений HTML?

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

Коли сирий HTML достатній?

Сирий HTML достатній, коли перша відповідь вже містить корисний текст, посилання, таблиці, картки або метадані, які потрібні вашому робочому процесу.

Перевірки сирого та рендереного

Порівняйте докази перед зміною профілів запитів.

Як дізнатися, чи потрібне рендеринг?

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

Чи слід мені використовувати очікування рендерингу?

Використовуйте тайм-аут очікування, коли корисний контент з'являється після затриманих запитів на стороні клієнта. Тримайте це специфічним для цілей, а не глобальним.

Формати після рендерингу

Рендеринг може забезпечити різних споживачів нижнього рівня.

Чи можу я отримати Markdown після рендерингу?

Так. Рендерьте сторінку, коли це потрібно, а потім виберіть Markdown, якщо читабельні заголовки, посилання та секції краще для перегляду або споживання AI.

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

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

Вага запиту

Тримайте виконання браузера прив'язаним до перевірених цілей.

Чи коштує рендерене HTML більше, ніж сире HTML?

Рендерене захоплення є важчим, оскільки воно виконує роботу браузера. Почніть з сирого HTML і увімкніть рендеринг лише тоді, коли це покращує відповідь.

Чи можу я змішувати сирі та рендерені запити?

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