跳转到主要内容
POST https://api.acedata.cloud/webextrator/render WebExtrator 网页渲染 API 是一个基于无头 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。

同步响应

异步响应

mode=async 时立即返回(HTTP 202):
结果将通过 POST 推送到 callback_url(如果配置了),或者通过 /webextrator/tasks 主动查询。

回调结构

平台 POST 与同步模式完全相同的 envelope 到 callback_urlContent-Type: application/json。返回任意 2xx 即视为已确认;5xx 会被 指数退避重试约 5 分钟。

错误响应

错误结构:

示例

cURL

Python (requests)

Node.js (fetch)

异步 + 回调

立即返回 { "jobId": "...", "status": "queued" };任务完成时平台会 POST 完整结果到你的 callback_url

强制绕过缓存

提示与坑

  • wait_until 选对很重要。 networkidle 最稳但最慢;domcontentloaded 快但可能漏掉异步注入的内容;load 适合传统静态页。
  • 缓存 Key 忽略 mode 同一 URL 的 syncasync 请求命中同一缓存条目, 随意切换不会失效。
  • 缓存 Key 忽略 bypass_cachecache_ttl_seconds 这两个是操作开关, 不影响响应内容。
  • cookiesheaders 会分桶缓存。 自定义这两个会让首次相同组合命中失败。
  • 重 SPA 经常超过默认 30 秒。 建议 timeout: 60wait_until: "domcontentloaded"delay: 4,再配合 wait_for_selector 等待真正关心 的元素。
  • block_resources 是降低延迟的最快路径。 默认已屏蔽图片 / 字体 / 媒体; 如果你抽取不依赖 CSS 布局,加上 stylesheet 还能更快。