为网页理解而设计的基础设施
WebExtrator 不是简单下载 HTML,而是把浏览器渲染、正文抽取、结构化字段和任务追踪放进同一个开发者友好的 API 面。
真实页面渲染
使用浏览器环境打开目标 URL,支持 wait_until、delay、wait_for_selector 等参数,适合 SPA、新闻页、电商页和登录态页面。
结构化抽取
Extract API 返回标题、描述、作者、站点、图片、链接、Markdown 和 structured 字段,业务系统可以直接入库或进入后续模型链路。
schema.org 优先
商品、文章、食谱、视频、招聘等页面常带有结构化元数据。WebExtrator 会优先利用这些确定性信息,再按需补充语义规范化。
可选 LLM 规范化
当页面缺少清晰元数据时,可用 enable_llm 启用语义规范化,把长文本整理成更稳定的字段结构。
同步与异步
小页面可以同步返回;长耗时页面可以设置 async 或 callback_url,先拿任务 ID,再通过回调或任务接口取结果。
请求级控制
自定义 Header、User-Agent、资源拦截和超时策略都在请求体里完成,不需要自己维护浏览器池、队列和失败重试层。
一个 POST,把网页变成结构化数据
请求参数来自公开 OpenAPI:只需要 URL;需要更稳定的抽取时补充页面类型、等待条件、Header 或异步回调地址。
task_id 与 trace_id/webextrator/tasks 回查import requests
resp = requests.post(
"https://api.acedata.cloud/webextrator/extract",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"url": "https://example.com/article",
"expected_type": "article",
"wait_until": "networkidle",
"enable_llm": True,
},
timeout=120,
)
result = resp.json()
print(result["task_id"])
print(result["data"]["title"])
print(result["data"]["markdown"][:400])典型使用场景
面向需要“读懂网页”的产品:从 Agent 浏览器到内容采集,从电商监测到知识库入库。
AI Agent 浏览工具
给智能体一个稳定的网页读取工具,把动态网页压缩成标题、正文、链接和字段,而不是把整页 HTML 塞进上下文。
RAG 内容入库
批量抽取文章、产品、文档和 FAQ 页面,保留 Markdown 正文与结构化元数据,便于切块、检索和引用。
电商数据监测
通过 Product 类页面信息提取商品标题、描述、图片和结构化字段,减少为每个站点写解析器的维护成本。
新闻与内容聚合
统一提取 headline、byline、siteName、description 与正文 Markdown,让跨站内容进入同一个数据模型。
招聘与列表页整理
对招聘、目录、活动、资源集合等页面先渲染再抽取,结合任务回查做批量补数和审计。
网页质量分析
Render API 返回最终 URL、状态码、标题、HTML、文本和 User-Agent,可用于检查跳转、页面状态和客户端可见内容。
三步开始使用
不需要搭浏览器集群,也不需要额外消息队列。先拿密钥,再提交 URL,最后消费结果。
获取 API Key
在 Ace Data Cloud 控制台申请 WebExtrator 服务,并为应用创建访问密钥。
提交 URL
调用 Render 或 Extract API。需要动态内容时设置等待条件,需要异步处理时设置 async 或回调地址。
写入你的系统
读取 data.html、data.text、data.markdown 或 data.structured,进入数据库、搜索索引或模型上下文。
为什么不用自己维护爬取链路?
自建浏览器、队列、回调和结构化层的工程量很快会超过业务本身。WebExtrator 把这些能力收束成一个可调用的 API。
| 能力 | WebExtrator | Some Others |
|---|---|---|
| 动态页面 | 真实浏览器渲染,可配置等待事件、选择器和延迟。 | 常只返回静态 HTML,遇到 SPA 或延迟加载内容需要额外工程。 |
| 结构化结果 | 正文 + Markdown + structured 在同一个响应里返回。 | 通常需要自己再写正文抽取、字段映射和清洗逻辑。 |
| 长耗时任务 | 支持异步,可通过回调或任务查询接口获取结果。 | 需要自己维护队列、任务状态、回调和历史记录。 |
| 请求控制 | 按请求控制 Header、User-Agent、资源拦截、超时和等待策略。 | 参数分散在爬虫框架和浏览器上下文里,难以暴露给业务方。 |
选择合适的调用方式
三类接口覆盖从“拿页面”到“拿字段”再到“回查任务”的完整流程。
只需要页面可见内容
适合网页状态检查、HTML 归档、正文预处理和需要自己控制后处理逻辑的场景。
/webextrator/render- 返回 HTML、text、title、status、finalUrl
- 支持等待条件、资源拦截和自定义 Header
需要可入库字段
适合 Agent、RAG、内容聚合、电商监测等需要把网页转成业务对象的场景。
/webextrator/extract- 返回 Markdown、图片、链接和 structured 字段
- 可用
expected_type与enable_llm优化结果
需要异步与审计
适合批量任务、慢页面、回调失败补偿和基于 trace_id 的问题排查。
/webextrator/tasks- 支持单条与批量查询
- 可按
id、trace_id、ids、trace_ids查询
按请求计费,任务查询免费
Render 与 Extract 使用同一基础单价;Tasks 用于查询历史任务,不额外收费。
网页渲染
用于打开 URL 并返回渲染后的 HTML、文本、标题、最终 URL 与页面状态。
- Chromium 页面渲染
- Header / User-Agent / wait_until
- 同步或异步模式
智能抽取
在渲染基础上输出正文、Markdown、图片、链接和结构化字段,适合直接接入数据链路。
- schema.org 优先
- 可选 LLM 规范化
- expected_type 页面类型提示
任务查询
通过任务 ID 或 trace ID 获取异步与历史任务结果,用于回调补偿、批量回查和排障。
- retrieve 单条查询
- retrieve_batch 批量查询
- 支持 offset / limit
价格按当前 cost 规则折算展示;最终扣费以平台服务页和账单记录为准。
常见问题
关于 WebExtrator 参数、同步异步、结构化字段和费用的几个关键问题。
Render 和 Extract 应该怎么选?+
如果你只需要页面渲染后的 HTML、文本、标题、状态码和最终 URL,用 Render。若你希望平台同时整理正文、Markdown、图片、链接和结构化字段,用 Extract。
什么时候使用异步模式?+
目标页面加载慢、需要额外等待选择器、或者批量处理时建议使用 async: true 或 callback_url。接口会先返回任务 ID,结果可通过回调或 Tasks API 获取。
expected_type 支持哪些值?+
OpenAPI 当前支持 product、article、general。它是页面类型提示,可以减少启发式判断的不确定性。
可以带登录态或自定义请求头吗?+
可以。请求体支持 headers 和 user_agent。如果目标页面依赖 Cookie 或特定 Header,可以按请求传入;请确保你有权限访问目标内容。
如何减少页面加载成本?+
可以用 block_resources 拦截 image、font、media、stylesheet、xhr、fetch 等资源类型,并用 wait_until、timeout、delay 控制等待策略。
任务查询收费吗?+
当前 cost 规则中 /webextrator/tasks 为免费接口。Render 与 Extract 按请求计费,页面展示的价格来自当前成本规则折算。
相关服务
把 WebExtrator 抽取出来的内容继续接入搜索、对话、图像或视频生成链路。
