Logo of Lexmount
文档模板博客帮助中心
GitHub
Logo of LexmountLexmount Browser

开始使用

Lexmount 文档
控制台使用指南

Browser

Web Fetch

概览快速开始
All-in-One ExtractDump DOM
常见错误

Web Search

概览快速开始搜索接口

运行时

概览快速开始接口能力示例

帮助与计费

能力名词 FAQ
更新日志联系支持
接口参考

Dump DOM

获取 HTML、检查渲染结果,并复用 DOM 快照。

POST /v1/dom/dump

当你需要直接拿到抓取后的 HTML、检查页面渲染结果、或者希望在后续提取请求中复用 DOM 快照时,使用这个接口。

鉴权说明

  • 外部调用时,请求需要同时带 X-API-Key 和 X-Project-Id
  • 在当前站点的 API 密钥设置 创建或复制 API key 与 project id
  • COM 项目使用 https://api.lexmount.com,CN 项目使用 https://api.lexmount.cn;凭据必须与 API 区域匹配

请求体

{
  "url": "https://example.com",
  "options": {
    "engine_preference": "lightmount_dcl",
    "timeout_ms": 30000,
    "filter_scripts_styles": false
  }
}

字段说明

字段类型必填说明
urlstring是要抓取的页面 URL
options.engine_preferencestring否指定引擎,默认 auto
options.timeout_msint否正整数毫秒值;控制抓取处理时限,不能延长公共网关时限
options.user_agentstring否自定义抓取 User-Agent
options.filter_scripts_stylesbool否是否在返回和持久化快照前移除 script 和 style

支持的 engine_preference:

  • auto
  • http
  • chrome
  • chrome_cdp
  • lightmount_lite
  • lightmount_dcl
  • lightmount_domstable

引擎行为

auto 先使用服务端匹配到的站点引擎规则;没有匹配规则时当前使用 lightmount_dcl。它不保证先 HTTP、再依次尝试所有浏览器。需要稳定选择时显式指定引擎,并读取响应的 engine。

引擎用途
http直接获取 HTML,不执行页面 JavaScript
chrome / chrome_cdpChrome 抓取路径
lightmount_lite轻量抓取路径
lightmount_dclLightMount,等待 DOMContentLoaded
lightmount_domstableLightMount,等待 DOM 稳定

不同引擎的页面兼容性不同;DOMContentLoaded 或 DOM 稳定不保证所有异步正文已经加载。该接口每次按 url 抓取;需要复用快照时将 ID 交给提取接口。

基础示例

API_KEY='<your-api-key>'
PROJECT_ID='<your-project-id>'

curl -sS -X POST https://api.lexmount.cn/v1/dom/dump \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $API_KEY" \
  -H "X-Project-Id: $PROJECT_ID" \
  -d '{
    "url": "https://example.com",
    "options": {
      "engine_preference": "lightmount_dcl",
      "timeout_ms": 30000
    }
  }' \
  | jq '{final_url, engine, dom_id, html_len:(.html|length)}'

响应字段

常用返回字段:

  • request_id
  • url
  • final_url
  • status_code
  • fetched_at
  • engine
  • dom_id
  • html
  • debug

request_id 是请求关联 ID。同一个值也会出现在响应头 X-Request-ID 里。

过滤 script / style

curl -sS -X POST https://api.lexmount.cn/v1/dom/dump \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $API_KEY" \
  -H "X-Project-Id: $PROJECT_ID" \
  -d '{
    "url": "https://example.com",
    "options": {
      "engine_preference": "lightmount_dcl",
      "filter_scripts_styles": true
    }
  }' \
  | jq '{dom_id, has_script:(.html|test("<script"; "i")), has_style:(.html|test("<style"; "i"))}'

这个模式适合拿到更干净的 DOM 用于检查和模板调试,但不要把它当成浏览器原始快照的完全等价物。

复用 dom_id

先抓取快照,再把 dom_id 交给 /v1/extract:

set -euo pipefail

DOM_ID="$(curl --fail-with-body -sS -X POST https://api.lexmount.cn/v1/dom/dump \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $API_KEY" \
  -H "X-Project-Id: $PROJECT_ID" \
  -d '{"url":"https://example.com","options":{"engine_preference":"lightmount_dcl"}}' \
  | jq -er '.dom_id | select(type == "string" and length > 0)')"

curl -sS -X POST https://api.lexmount.cn/v1/extract \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $API_KEY" \
  -H "X-Project-Id: $PROJECT_ID" \
  -d "{\"extract\":{\"dom_id\":\"$DOM_ID\"}}" \
  | jq '{title:.result.title, engine:.result.engine, dom_id:.metadata.dom_id}'

如果要排查失败原因,见 Common Errors。

快照复用与响应检查

dom_id 是返回的字符串标识(例如 "123"),请原样保存。示例值不是可复用的真实快照。继续使用捕获快照时的区域入口;快照不是跨区域浏览器 Context,也没有公开保证的固定保留时长。遇到 dom_snapshot_not_found 时重新抓取 URL,长期保存应由应用存储需要的内容。

Dump DOM 的 HTTP 200 表示抓取流程完成;目标页仍可能返回 403、404 等,请同时检查顶层 status_code、final_url 和 html。html 为空、debug 不存在等情况都应兼容。普通 dump 返回 HTML;设置过滤后,保存的快照也是清理后的内容。

生产代码应先检查 HTTP 状态和 dom_id,再发起复用请求;不要在第一次调用失败后把 null 作为 ID 传入。两次成功调用分别计入 Web Fetch 用量。

All-in-One Extract

POST /v1/extract 的完整请求与响应参考。

常见错误

处理鉴权、额度、输入、抓取、快照和网关故障。

目录

鉴权说明
请求体
字段说明
引擎行为
基础示例
响应字段
过滤 script / style
复用 dom_id
快照复用与响应检查

问题没有解决?