返回首页

Extract API

POST /api/extract,抽取清洗后的页面正文。

最近更新: 2026-10-15

Extract

POST /api/extract

请求体

字段默认说明
urls必填字符串或数组,最多 20 个
extract_depthbasicadvanced 会保留表格并延长超时
formatmarkdownmarkdown 或 text
include_faviconfalse
timeout10 / 30秒,1–60

内网、回环、链路本地以及带凭据的 URL 会被拒绝。

后端

管理员可在 Admin → Search 选择 Extract provider:

  • builtin(默认):进程内 HTTP 抓取 + Mozilla Readability。
  • crawlee:独立 Playwright 服务(pnpm crawlee-extract:up),适合需要 JS 渲染的页面;可配置失败时回退 builtin。

对外请求体不变;缓存键会纳入所选 provider。

计费

只对成功抽取计费。每 5 个成功 URL 计 1 分(basic)或 2 分(advanced)。单次请求按 ceil(n / 5) 计算。

缓存

成功结果按单个 URL 在服务端缓存(默认 1 小时,可在 admin → Search 配置)。同一批次中命中的 URL 直接返回、延迟更低,未命中的 URL 才会实时抓取;命中缓存的 URL 仍按标准积分扣费。

响应

{
  "results": [
    {
      "url": "https://example.com",
      "raw_content": "正文已去掉链接语法,锚文本保留在原位。",
      "keywords": ["data scraping", "web crawler"],
      "keyword_urls": [
        "https://example.com/data-scraping",
        "https://example.com/web-crawler"
      ]
    }
  ],
  "failed_results": [{ "url": "https://...", "error": "..." }],
  "response_time": 0.8,
  "request_id": "...",
  "usage": { "credits": 1 }
}

keywords[i] 与 keyword_urls[i] 按正文出现顺序一一对应。仅收录 http/https 链接;纯 hash、mailto: / javascript: 等不会进入数组(其可见文字仍留在 raw_content 中)。