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.
Структура Cookie
Синхронный ответ
Асинхронный ответ
При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может сделать это еще быстрее.

