HTML-контент страницы после рендеринга: Content API
POST /v1/browser/content открывает страницу в headless Chromium, дожидается загрузки и возвращает итоговый
HTML — то, что видит браузер после выполнения JavaScript. Ответ — text/html, не JSON. Формат запроса совместим
с Browserless /content.
curl -X POST "https://proxy.seyka.ru/v1/browser/content" \ -H "Authorization: Bearer $SEYKA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com", "gotoOptions": {"waitUntil": "networkidle"} }' \ --output page.htmlТело — общие параметры страницы. Чаще всего нужны:
| Параметр | Описание |
|---|---|
url или html |
адрес страницы или разметка для рендеринга — ровно одно из двух |
gotoOptions.waitUntil |
load (по умолчанию), domcontentloaded или networkidle |
waitForSelector |
дождаться элемента, например {"selector": ".product-card", "timeout": 10000} |
waitForFunction |
дождаться, пока функция fn вернёт истину |
waitForTimeout |
дополнительная пауза в мс |
bestAttempt |
вернуть HTML, даже если условие ожидания не выполнилось |
rejectResourceTypes |
не грузить, например, ["image", "font", "media"] — быстрее |
setExtraHTTPHeaders, cookies, userAgent |
заголовки, куки и User-Agent запроса |
HTTP/1.1 200 OKContent-Type: text/html; charset=utf-8X-Response-Code: 200X-Response-Status: OKX-Response-URL: https://example.com/X-Cache: DISABLED
<!DOCTYPE html><html><head><title>Example Domain</title>…X-Response-Code,X-Response-Status— код и статус, которыми ответил сайт;200от шлюза означает, что страница отрендерена, а не что сайт ответил успешно.X-Response-URL— конечный адрес после редиректов (дляhtmlне передаётся).
Если страница не открылась, ответ — JSON с error, errorKind и code, см.
ошибки Browser API.
import os, requests
r = requests.post( "https://proxy.seyka.ru/v1/browser/content", headers={"Authorization": f"Bearer {os.environ['SEYKA_API_KEY']}"}, json={"url": "https://example.com", "waitForSelector": {"selector": "main"}}, timeout=60,)r.raise_for_status()print(r.headers["X-Response-Code"], len(r.text))Когда использовать
Заголовок раздела «Когда использовать»- Страница собирается JavaScript (SPA на React, Vue и т. п.), и нужен итоговый DOM.
- SEO-проверка: что остаётся в разметке после рендеринга, а что существует только в исходном HTML.
- Рендеринг собственного шаблона со скриптами: передайте его в
html.
Если нужен текст или Markdown страницы, а не разметка целиком, удобнее Smart Scrape: он запускает браузер, только когда это действительно нужно. Если нужны отдельные элементы — Scrape или Cheerio.
Каждый вызов оплачивается по цене HTML-контента; кэша ответов нет (X-Cache: DISABLED). Цены — в
таблице цен.