Skip to main content
POST https://api.acedata.cloud/webextrator/render API рендеринга веб-страниц WebExtrator — это сервис рендеринга веб-страниц на основе безголового Chromium. Дайте URL, и он вернет полностью отрендеренный HTML (включая содержимое, инжектированное с помощью JS), чистый текст, заголовок страницы и конечный URL. Render — это самый базовый интерфейс WebExtrator. Если вам нужны структурированные результаты извлечения (основной текст статьи, цена товара, ингредиенты рецепта и т. д.), используйте /webextrator/extract — он работает на той же основе рендеринга и проходит через полный набор типизированных конвейеров извлечения.

Процесс подачи заявки

Чтобы использовать страницу сервиса WebExtrator, сначала перейдите в консоль Ace Data Cloud, чтобы получить ваш API Token и сохранить его на всякий случай. Если вы еще не вошли в систему или не зарегистрированы, вы будете автоматически перенаправлены на страницу входа, где вас пригласят зарегистрироваться и войти в систему, после чего вы будете автоматически возвращены на текущую страницу. Один API Token позволяет вызывать все сервисы платформы, не нужно подавать отдельные заявки для каждого сервиса. При первой подаче заявки предоставляется бесплатный лимит, чтобы вы могли попробовать; если лимит исчерпан, вы можете пополнить общий баланс в консоли.
📘 Полная документация: Страница сервиса WebExtrator →

Аутентификация

Все интерфейсы WebExtrator используют стандартную аутентификацию Bearer Token:

Параметры запроса

Платформенные контракты используют snake_case. Внутренние рендеринговые сервисы поддерживают camelCase, но внешние вызовы всегда используют snake_case.

Синхронный ответ

Асинхронный ответ

При async=true (или предоставлении callback_url) сразу возвращает (HTTP 200):
Результат будет отправлен через POST на callback_url (если он настроен), или можно будет получить его через /webextrator/tasks.

Структура обратного вызова

Платформа POST отправляет абсолютно такой же envelope в callback_url, как и в синхронном режиме, Content-Type: application/json. Возврат любого 2xx считается подтвержденным; 5xx будет повторяться с экспоненциальной задержкой в течение примерно 5 минут.

Ошибки ответа

Структура ошибки:

Пример

cURL

Python (requests)

Node.js (fetch)

Асинхронный + коллбек

Немедленно возвращает { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 }; Когда задача завершится, платформа отправит полный результат на ваш callback_url.

Принудительное обход кэша

Подсказки и ловушки

  • Важно правильно выбрать wait_until. networkidle самый стабильный, но самый медленный; domcontentloaded быстрый, но может пропустить асинхронно загружаемый контент; load подходит для традиционных статических страниц.
  • Ключ кэша игнорирует async. Синхронные и асинхронные запросы к одному и тому же URL попадают в одну и ту же запись кэша, произвольное переключение не приведет к сбою.
  • Ключ кэша игнорирует bypass_cache и cache_ttl_seconds. Эти два являются переключателями, не влияют на содержимое ответа.
  • cookies и headers будут кэшироваться по отдельным корзинам. Настройка этих двух приведет к сбою первого совпадения с одинаковой комбинацией.
  • Перезагрузка SPA часто превышает стандартные 30 секунд. Рекомендуется timeout: 60, wait_until: "domcontentloaded", delay: 4, а также использовать wait_for_selector для ожидания действительно интересующих элементов.
  • block_resources — самый быстрый путь к снижению задержки. По умолчанию уже заблокированы изображения / шрифты / медиа; если вы извлекаете, не полагаясь на CSS-раскладку, добавление stylesheet может сделать это еще быстрее.