Extract API
POST /api/extract,抽取清洗后的页面正文。
最近更新: 2026-10-15
Extract
POST /api/extract
请求体
| 字段 | 默认 | 说明 |
|---|---|---|
urls | 必填 | 字符串或数组,最多 20 个 |
extract_depth | basic | advanced 会保留表格并延长超时 |
format | markdown | markdown 或 text |
include_favicon | false | |
timeout | 10 / 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 中)。