WebFetch API参考
All-in-One Extract
POST /v1/extract 的完整请求与响应参考。
POST /v1/extract
当你希望一次请求完成页面抓取并直接拿到结构化结果时,使用这个接口。
鉴权说明
- 当前接口处于内测阶段
- 外部调用时,请求需要带
X-API-Key - 请联系管理员获取 API key
请求体
{
"extract": {
"url": "https://example.com"
},
"workflow": {
"match_timeout_ms": 30000,
"generate_timeout_ms": 30000,
"extract_timeout_ms": 30000
},
"trace": {
"include_steps": true,
"include_raw_dom": false
}
}字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
extract | object | 是 | 提取请求主体 |
extract.url | string | 否 | 要抓取的页面 URL |
extract.dom_id | string | 否 | 已有 DOM 快照 ID |
workflow.match_timeout_ms | int | 否 | 模板匹配超时,默认 30000 |
workflow.generate_timeout_ms | int | 否 | 模板生成超时,默认 30000 |
workflow.extract_timeout_ms | int | 否 | 最终提取超时,默认 30000 |
trace.include_steps | bool | 否 | 是否返回流程步骤,默认 true |
trace.include_raw_dom | bool | 否 | 是否返回原始 DOM,默认 false |
约束:
extract.url和extract.dom_id至少传一个- 如果不需要自定义超时,可以省略
workflow - 常规生产调用建议显式传
trace.include_steps=false和trace.include_raw_dom=false
最简示例
API_KEY='<your-api-key>'
curl -sS -X POST https://webfetch.lexmount.com/v1/extract \
-H 'content-type: application/json' \
-H "X-API-Key: $API_KEY" \
-d '{"extract":{"url":"https://mp.weixin.qq.com/s/H8Nnk6HEKlwDREmxdjsXSg"}}'响应结构
顶层响应通常包含:
| 字段 | 说明 |
|---|---|
result | 成功时的结构化提取结果 |
metadata | 附加元信息,例如 dom_id、template_id、server_elapsed_ms |
error | 失败时返回的错误对象 |
trace | 调试链路步骤;仅在 include_steps=true 时返回 |
raw_dom | 原始 DOM 内容;仅在 include_raw_dom=true 时返回 |
result 中最常用的字段包括:
urlfinal_urlstatus_codetitledescriptionmain_textpublish_timeauthorlanguagelinksimagesenginetemplate_iddom_id
复用已有 dom_id
curl -sS -X POST https://webfetch.lexmount.com/v1/extract \
-H 'content-type: application/json' \
-H "X-API-Key: $API_KEY" \
-d '{
"extract": {
"dom_id": "123"
},
"trace": {
"include_steps": false,
"include_raw_dom": false
}
}'关闭 Trace
POST /v1/extract 默认会返回 trace。
如果你希望响应更小,可以显式关闭:
curl -sS -X POST https://webfetch.lexmount.com/v1/extract \
-H 'content-type: application/json' \
-H "X-API-Key: $API_KEY" \
-d '{
"extract": {
"url": "https://example.com"
},
"trace": {
"include_steps": false
}
}'返回 Raw DOM
raw_dom 默认不会返回。
只有在你确实需要把抓取到的 DOM 一并放进响应里时,才建议开启:
curl -sS -X POST https://webfetch.lexmount.com/v1/extract \
-H 'content-type: application/json' \
-H "X-API-Key: $API_KEY" \
-d '{
"extract": {
"url": "https://example.com"
},
"trace": {
"include_raw_dom": true
}
}'raw_dom可能非常大,不适合常规线上调用
调试模式
如果既要看流程步骤,也要看原始 DOM,再同时打开两个字段:
curl -sS -X POST https://webfetch.lexmount.com/v1/extract \
-H 'content-type: application/json' \
-H "X-API-Key: $API_KEY" \
-d '{
"extract": {
"url": "https://example.com"
},
"trace": {
"include_steps": true,
"include_raw_dom": true
}
}'trace会显著增大响应体raw_dom可能非常大,不适合常规线上调用
常见失败与排查方式,见 Common Errors。
Lexmount 文档