网页正文提取 API

抓取网页并提取正文纯文本,或转换成 Markdown(保留标题、列表、链接、图片、代码块、引用和表格);只能读取服务器直接返回的 HTML,不执行 JavaScript

数据来源:目标网页

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

提取网页标题、小标题和正文文字

GET /api/web/text

请求参数

  • url(必填):网页地址(http / https),只允许公网地址;跟随最多 5 次跳转,每一跳都会检查,示例 https://example.com
  • mode:main 尽量只保留正文(优先 <article> / <main>,去掉导航、侧边栏、页脚);all 保留整个 <body>,示例 all
  • max_length:返回文字的最大字符数,100~200000,超出部分截断,示例 20000

返回字段

  • url(string):最终网址(跟随跳转后)
  • status(number):目标网页的 HTTP 状态码(只接受 2xx)
  • title(string|null):网页标题(优先 og:title,其次 <title>);没有时为 null
  • description(string|null):网页描述(meta description / og:description);没有时为 null
  • lang(string|null):<html lang> 声明的语言(如 zh-CN);未声明时为 null
  • mode(string):提取模式:main / all(与参数一致)
  • region(string):实际选取的区域:article(<article>)/ main(<main>、role=main 等)/ hint(id、class 像正文的容器)/ body(整个页面)
  • headings(array):正文区域内的一至三级标题,按出现顺序,最多 200 个
  • headings[].level(number):标题级别:1 / 2 / 3
  • headings[].text(string):标题文字(最多 200 字)
  • length(number):提取到的文字总字符数(截断前)
  • truncated(boolean):文字是否超过 max_length 被截断,或网页超过 2MB 只读取了前面部分
  • text(string):正文纯文本:段落之间空一行,表格单元格之间用制表符分隔

把网页正文转换成 Markdown

GET /api/web/markdown

请求参数

  • url(必填):网页地址(http / https),只允许公网地址;跟随最多 5 次跳转,每一跳都会检查,示例 https://example.com
  • mode:main 尽量只保留正文(优先 <article> / <main>,去掉导航、侧边栏、页脚);all 保留整个 <body>,示例 all
  • links:是否保留链接地址:true / false(false 时只保留链接文字),示例 false
  • images:是否保留图片:true / false,示例 false
  • max_length:返回内容的最大字符数,100~300000,超出部分截断,示例 50000

返回字段

  • url(string):最终网址(跟随跳转后)
  • status(number):目标网页的 HTTP 状态码(只接受 2xx)
  • title(string|null):网页标题(优先 og:title,其次 <title>);没有时为 null
  • description(string|null):网页描述(meta description / og:description);没有时为 null
  • lang(string|null):<html lang> 声明的语言(如 zh-CN);未声明时为 null
  • mode(string):提取模式:main / all(与参数一致)
  • region(string):实际选取的区域:article(<article>)/ main(<main>、role=main 等)/ hint(id、class 像正文的容器)/ body(整个页面)
  • length(number):Markdown 总字符数(截断前)
  • truncated(boolean):是否超过 max_length 被截断,或网页超过 2MB 只读取了前面部分
  • markdown(string):Markdown 内容;链接和图片已转为绝对地址;正文没有一级标题时在开头补上网页标题