Перейти к содержимому

HTML-контент

Извлечение полностью отрендеренного HTML-контента веб-страниц через headless Chromium. Запросы выполняются с российских серверов (российские IP-адреса, российский DNS) — сайты отдают локализованный контент, корректные цены в рублях и российскую выдачу. 100% совместимость с Browserless.io Content API — drop-in замена для существующих интеграций.

МетодЭндпоинтОписание
POST/v1/browser/contentBrowserless-совместимый API

API возвращает HTML-контент страницы после полного рендеринга JavaScript. Ответ — text/html, не JSON.

Окно терминала
# Базовое извлечение HTML
curl -X POST "https://proxy.unoapi.ru/v1/browser/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}' \
--output page.html
# С ожиданием загрузки
curl -X POST "https://proxy.unoapi.ru/v1/browser/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"gotoOptions": {"waitUntil": "networkidle"},
"viewport": {"width": 1920, "height": 1080}
}' \
--output page.html

Основные параметры запроса:

  • url — URL страницы для извлечения HTML
  • html — или HTML-контент для рендеринга (вместо URL)
  • viewport.width / height — размер окна браузера (по умолчанию 1280x800)
  • waitForSelector — ожидание CSS-селектора перед извлечением
  • gotoOptions.waitUntilload, domcontentloaded, networkidle
  • waitForTimeout — дополнительная задержка в миллисекундах
  • waitForFunction — ожидание выполнения JavaScript-функции

API возвращает информацию о целевой странице через заголовки:

  • X-Response-Code — HTTP-код ответа целевой страницы
  • X-Response-Status — текстовый статус ответа
  • X-Response-URL — финальный URL после редиректов

Вместо URL можно передать HTML-контент напрямую для рендеринга через браузер:

Окно терминала
# Рендеринг HTML-контента (без URL)
curl -X POST "https://proxy.unoapi.ru/v1/browser/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<html><body><script>document.body.innerHTML = \"<h1>Rendered!</h1>\"</script></body></html>"
}'

Это полезно для проверки рендеринга шаблонов с JavaScript.

Для динамических страниц (SPA, React, Vue) используйте waitForSelector:

Окно терминала
# Ожидание элемента перед извлечением HTML
curl -X POST "https://proxy.unoapi.ru/v1/browser/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"waitForSelector": {"selector": ".content-loaded", "timeout": 5000},
"gotoOptions": {"waitUntil": "networkidle"}
}'

Параметр bestAttempt: true позволяет продолжить даже если селектор не найден.

  • Веб-скрапинг — получение полностью отрендеренного HTML для парсинга данных, включая контент, загружаемый через JavaScript
  • SEO-аудит — анализ того, что видят поисковые роботы после рендеринга JavaScript
  • Индексация контента — извлечение текстового контента для поисковых индексов
  • Мониторинг изменений — отслеживание изменений контента на страницах
  • Тестирование — проверка серверного рендеринга и SSR/SSG

API поддерживает все параметры Browserless.io:

  • Cookies и авторизацияcookies, authenticate
  • Внедрение скриптовaddScriptTag, addStyleTag
  • Блокировка ресурсовrejectResourceTypes, rejectRequestPattern
  • ЭмуляцияemulateMediaType (screen/print)
  • JavaScriptsetJavaScriptEnabled: false
  • HTTP-заголовкиsetExtraHTTPHeaders
  • User-AgentuserAgent

API блокирует небезопасные URL: localhost, приватные IP, .local домены.

https://chrome.browserless.io/content
https://proxy.unoapi.ru/v1/browser/content

Формат запроса и ответа полностью совместим.