Skip to content

OnPage解析(Live)

POST /v3/on_page/content_parsing/live

接口说明

POST https://api.seermartech.cn/v3/on_page/content_parsing/live

本接口用于抓取并解析指定网页,返回结构化页面文本、链接 URL、锚文本、标题层级、表格、主题、评分、商品信息和联系方式等。

每次 Live 请求支持提交 1 个任务。所有请求体使用 UTF-8 编码的 JSON 格式,并以 JSON 数组提交。平台限流以认证说明中的 30/60/120 次/分钟规则为准。

计费说明

本接口按请求计费,计费规则与即时页面解析能力一致。扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

启用 JavaScript、浏览器渲染等高级抓取能力时,可能产生额外费用,以响应头扣费金额为准。

请求参数

请求体为 JSON 数组,数组中只能一个任务对象。

参数类型说明
urlstring解析页面的 URL。示例:https://www.fujielectric.com/
custom_user_agentstring抓取网站时使用的自定义 User-Agent。默认值:Mozilla/5.0 (compatible; RSiteAuditor)
browser_presetstring浏览器屏幕预设。可选值:desktopmobiletablet。使用此参数后,无需设置浏览器屏幕宽度、高度和缩放比例。使用此参数时,将 enable_javascriptenable_browser_rendering 设置为 true
browser_screen_widthinteger浏览器屏幕宽度,单位为像素。取值范围:2409999。设置后 browser_preset 将被忽略。使用此参数时,启用 enable_javascriptenable_browser_rendering
browser_screen_heightinteger浏览器屏幕高度,单位为像素。取值范围:2409999。设置后 browser_preset 将被忽略。使用此参数时,启用 enable_javascriptenable_browser_rendering
browser_screen_scale_factorfloat浏览器屏幕缩放比例。取值范围:0.53。设置后 browser_preset 将被忽略。使用此参数时,启用 enable_javascriptenable_browser_rendering
store_raw_htmlboolean是否保存抓取页面的 HTML。设置为 true 后,可通过 /v3/on_page/raw_html/ 获取原始 HTML。默认值:false
disable_cookie_popupboolean是否禁用 Cookie 同意弹窗。默认值:false
accept_languagestring访问网站时使用的语言请求头。支持 xxxx-XXxxx-XX 等格式。部分网站在未设置此参数时可能拒绝访问,此时响应中的页面类型可能为 broken
enable_javascriptboolean是否加载页面 JavaScript。默认值:false。启用后可能产生额外费用。
enable_browser_renderingboolean是否模拟浏览器渲染。启用后会加载页面样式、图片、字体、动画、视频等资源,并可返回 Core Web Vitals 指标。默认值:false。要获取 Core Web Vitals,同时将 enable_javascriptload_resources 设置为 true。启用后可能产生额外费用。
enable_xhrboolean是否启用页面中的 XMLHttpRequest。设置为 true 后,抓取器可通过 XMLHttpRequest 向 Web 服务器请求数据。默认值:false。使用此参数时,将 enable_javascript 设置为 true
switch_poolboolean是否切换代理池。设置为 true 后,将使用代理池获取数据。适用于并发提交大量任务时偶发出现 rate-limitsite_unreachable 错误的。
ip_pool_for_scanstring指定代理池位置。可选值:usde。当页面在某个地区无法访问并出现 site_unreachable 错误时,可尝试切换此参数。
markdown_viewboolean是否以 Markdown 格式返回页面。设置为 true 后,结果将 page_as_markdown 字段。默认值:false

浏览器预设

预设browser_screen_widthbrowser_screen_heightbrowser_screen_scale_factor
desktop192010801
mobile3908443
tablet102413662

请求示例

curl

bash
curl --location --request POST \
  "https://api.seermartech.cn/v3/on_page/content_parsing/live" \
  --header "Authorization: Bearer smt_live_YOUR_KEY" \
  --header "Content-Type: application/json" \
  --data-raw '[
    {
      "url": "https://example.com/",
      "markdown_view": true,
      "enable_javascript": false
    }
  ]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/on_page/content_parsing/live"

headers = {
    "Authorization": "Bearer smt_live_YOUR_KEY",
    "Content-Type": "application/json",
}

# Live 接口每次请求支持一个任务
payload = [
    {
        "url": "https://example.com/",
        "markdown_view": True
    }
]

response = requests.post(url, headers=headers, json=payload)
result = response.json()

if result.get("status_code") == 20000:
    print(result)
else:
    print(
        "请求失败,状态码:%s,消息:%s"
        % (result.get("status_code"), result.get("status_message"))
    )

TypeScript

typescript
import axios from "axios";

const response = await axios.post(
  "https://api.seermartech.cn/v3/on_page/content_parsing/live",
  [
    {
      url: "https://example.com/",
      markdown_view: true
    }
  ],
  {
    headers: {
      Authorization: "Bearer smt_live_YOUR_KEY",
      "Content-Type": "application/json"
    }
  }
);

if (response.data.status_code === 20000) {
  console.log(response.data);
} else {
  console.error(
    `请求失败,状态码:${response.data.status_code},消息:${response.data.status_message}`
  );
}

响应结构

接口返回 JSON 对象任务执行状态和解析结果。

顶层字段

字段类型说明
versionstring当前 API 版本。
status_codeinteger请求级状态码。20000 表示成功。完整错误码请参考错误码文档。
status_messagestring请求级状态说明。
timestring请求执行耗时,单位为秒。
costfloat平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。
tasks_countintegertasks 数组中的任务数量。
tasks_errorintegertasks 数组中执行失败的任务数量。
tasksarray任务结果数组。

任务字段

字段类型说明
idstring任务唯一标识,UUID 格式。
status_codeinteger任务状态码,通常为 1000060000
status_messagestring任务状态说明。
timestring任务执行耗时,单位为秒。
costfloat平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。
result_countintegerresult 数组中的数量。
patharray页面 URL 路径信息。
dataobject本次请求中提交的任务参数。
resultarray页面解析结果数组。

result 字段

字段类型说明
crawl_progressstring抓取状态。可选值:in_progressfinished
crawl_statusobject抓取会话的详细状态信息。
items_countintegeritems 数组中的数量。
itemsarray页面解析项目数组。

items

每个 items素通常一个 сontent_parsing_element 对象:

字段类型说明
typestring返回项目类型,值为 сontent_parsing_element
fetch_timestring抓取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
status_codeinteger页面 HTTP 状态码。
page_contentobject页面解析。
page_as_markdownstring页面 Markdown。在请求参数 markdown_viewtrue 时返回。

页面字段

page_content 用于描述页面的结构化,以下字段。

字段类型说明
headerobject页面头部。
footerobject页面底部。
main_topicarray页面主要主题。
secondary_topicarray页面次要主题。
ratingsarray页面中商品或的评分信息。
offersarray页面中展示的商品信息。
commentsarray页面中展示的评论信息。
contactsobject页面中的联系方式。

###区块

headerfooter 以及主题对象中的区块可能以下字段:

字段类型说明
primary_contentarray页面主要。
secondary_contentarray页面次要。
table_contentarray页面中的表格。

文本项

字段类型说明
textstring文本。
urlstring | null当文本本身为链接锚文本时,对应的页面 URL。
urlsarray | null当前项中发现的 URL 和锚文本。

urls 数组中的字段如下:

字段类型说明
urlstring项中发现的 URL。
anchor_textstringURL 对应的锚文本。

表格

table_content 数组中的表格的表头、主体和页脚:

字段类型说明
headerarray表格表头。
bodyarray表格主体。
footerarray表格页脚。

每个区域 row_cells 数组。单格字段如下:

字段类型说明
textstring单格文本。
urlsarray | null单格中发现的链接和锚文本。
is_headerboolean当前单格是否属于表头。

主题字段

main_topicsecondary_topic 中的主题对象以下字段:

字段类型说明
h_titlestring页面 Meta Title。
main_titlestring区块的主标题。
authorstring
languagestring语言,例如 en
levelstring对应的 HTML 标题层级。
primary_contentarray主题下的主要。
secondary_contentarray主题下的次要。
table_contentarray | null主题下的表格。

评分信息

ratings 数组中的字段如下:

字段类型说明
namestring | null评分名称。在此类对象中通常为 null
rating_valueinteger评分值。
max_rating_valueinteger评分最大值。
rating_countinteger评价数量。
relative_ratingfloat相对评分,取值范围为 01

商品信息

offers 数组中的字段如下:

字段类型说明
namestring商品名称。
priceinteger商品价格。
price_currencystring商品价格的货币单位。
price_valid_untilstring价格有效期,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00

评论信息

comments 数组中的字段如下:

字段类型说明
ratingobject商品或评分。
titlestring评论标题。
publish_datestring评论发布时间。
authorstring评论。
primary_contentarray评论主要。

rating 对象字段如下:

字段类型说明
namestring | null评分名称,通常为 null
rating_valueinteger评分值。
max_rating_valueinteger评分最大值。
rating_countinteger | null评价数量,在部分评论对象中为 null
relative_ratingfloat相对评分,取值范围为 01

评论中的 primary_content项与普通文本项结构一致, texturlurls 字段。

联系方式

contacts 对象字段如下:

字段类型说明
telephonesarray页面中识别出的电话号码。
emailsarray页面中识别出的电子邮箱地址。

Markdown

当请求参数 markdown_view 设置为 true 时,响应中会返回:

字段类型说明
page_as_markdownstring使用 Markdown 格式表示的页面。

响应示例

以下示例展示了响应结构,部分页面已省略:

json
{
  "version": "0.1.20250526",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.2489 sec.",
  "cost": 0.0012,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "01234567-89ab-cdef-0123-456789abcdef",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.238 sec.",
      "cost": 0.0012,
      "result_count": 1,
      "path": [
        "https://example.com/"
      ],
      "data": {
        "url": "https://example.com/",
        "markdown_view": true
      },
      "result": [
        {
          "crawl_progress": "finished",
          "crawl_status": {},
          "items_count": 1,
          "items": [
            {
              "сontent_parsing_element": {
                "type": "сontent_parsing_element",
                "fetch_time": "2025-05-26 10:02:52 +00:00",
                "status_code": 200,
                "page_content": {
                  "header": {
                    "primary_content": [
                      {
                        "text": "页面标题",
                        "url": null,
                        "urls": null
                      }
                    ],
                    "secondary_content": [],
                    "table_content": null
                  },
                  "main_topic": [
                    {
                      "h_title": "页面 Meta Title",
                      "main_title": "主要标题",
                      "author": "",
                      "language": "zh",
                      "level": "1",
                      "primary_content": [
                        {
                          "text": "页面主要正文。",
                          "url": null,
                          "urls": [
                            {
                              "url": "https://example.com/related",
                              "anchor_text": "页面"
                            }
                          ]
                        }
                      ],
                      "secondary_content": [],
                      "table_content": null
                    }
                  ],
                  "footer": {
                    "primary_content": [],
                    "secondary_content": [],
                    "table_content": null
                  },
                  "ratings": [],
                  "offers": [],
                  "comments": [],
                  "contacts": {
                    "telephones": [],
                    "emails": []
                  }
                },
                "page_as_markdown": "# 页面标题\n\n页面主要正文。"
              }
            }
          ]
        }
      ]
    }
  ]
}

状态码与异常处理

响应中的 status_codestatus_message 可能同时出现在请求级、任务级和页面解析级结果中。建议在业务系统中分别处理以下:

  • 请求级 status_code20000:检查认证信息、请求格式和接口路径。
  • 任务级状态码异常:记录任务 id,并根据 status_message 进行重试或人工排查。
  • 页面 status_code 非成功状态:检查目标 URL、页面访问权限、语言请求头和代理池位置。
  • 返回页面类型为 broken:尝试设置 accept_language,或调整 switch_poolip_pool_for_scan
  • 页面依赖前端脚本:将 enable_javascript 设置为 true;如需完整浏览器加载,再同时启用 enable_browser_renderingload_resources
  • 出现频率限制:降低并发量,或在时启用 switch_pool

使用注意事项

  1. browser_presetbrowser_screen_widthbrowser_screen_heightbrowser_screen_scale_factor 不应同时使用;自定义屏幕参数优级更高。
  2. 使用浏览器屏幕参数前,启用 enable_javascriptenable_browser_rendering
  3. enable_browser_rendering须与 enable_javascriptload_resources 一并启用,否则无法获得完整浏览器渲染结果。
  4. store_raw_html 用于保存原始 HTML,原始需通过 /v3/on_page/raw_html/ 获取。
  5. markdown_view 返回的是页面的 Markdown 表示,不等同于原始 HTML。
  6. 页面解析结果会根据优级区分 primary_contentsecondary_content,两均可能文本、链接和锚文本。
  7. cost 字段表示响应中记录的任务费用,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

实用场景

  • 提取竞品页面正文、标题和链接,批量建立 SEO与链接结构数据库,提升竞品研究效率。
  • 解析商品页中的价格、货币、评分和评论,构建电商 SEO 监控与商品分析报表。
  • 抓取 JavaScript 渲染页面并采集浏览器视口下的,定位单页应用的 SEO 可见性问题。
  • 将网页正文转换为 Markdown,自动生成摘要、知识库文档或 AI 检索数据,降低洗成本。
  • 识别页面主题、语言、和标题层级,批量评估性与页面结构质量,支持优化决策。

统一入口:官网 · LLM API · 控制台