🦝

Fetchoo

Fetch the web, cleanly.

给它一个网页链接,返回干净的结构化内容。无论网页多难抓——有反爬、要登录、加载慢——Fetchoo 自动找到能用的方式拿到数据。

今日调用次数 0
累计调用总数 2201
降级链 · degradation pipeline

把任意网页变成 AI 能用的数据
很多网页内容对人类来说很容易阅读,但对程序来说很难提取——广告混在正文里、文章藏在 JavaScript 后面、反爬机制挡住了请求。Fetchoo 解决的就是这个问题:它尝试多种方式抓取网页,自动选出最好的结果,然后输出干净的、结构化的 JSON 数据,让 AI 应用可以直接使用。

输入

任意网页 URL。公众号文章、知乎回答、GitHub 仓库、新闻页面、Twitter 推文……什么都行。

输出

JSON 格式的结构化数据,包含 Markdown 正文、标题、作者、发布时间、网站描述等元信息。AI 模型或下游程序可以直接消费。

过程

自动尝试 9 种不同的抓取方式,从最快到最稳,直到拿到有效内容。整个过程对调用方透明——你只需要一个 URL,剩下的交给 Fetchoo。

加速

双级缓存(内存 + SQLite)自动缓存结果。同一个 URL 第二次请求时,直接返回缓存,毫秒级响应。


9 级降级,总有一种能抓到
不是所有网页都能用同一种方式抓取。有些网页 HTTP 直接请求就行,有些需要浏览器渲染 JavaScript,有些被反爬拦截需要特殊代理。Fetchoo 的策略是:先试最快的方式,失败了自动切换到下一种,直到成功为止。
1

HTTP 直接请求

最快、零成本。直接用 HTTP 请求获取网页 HTML,适合静态页面(博客、新闻、文档)。

2

浏览器渲染

启动无头浏览器加载页面,等待 JavaScript 执行完成后再提取内容。适合需要 JS 渲染的现代网页。

3

Firecrawl stealth 代理

通过 Firecrawl 的 stealth 代理网络请求,自带反检测能力,专门绕过 Cloudflare 等反爬系统。

4

WebPageSnap

第三方网页快照服务,用不同的 IP 和浏览器指纹抓取页面。

5

markdown.new

URL 转 Markdown 服务,擅长提取文章类内容,自动去除导航栏、广告等干扰元素。

6

Defuddle

内容清洗服务,从 HTML 中智能提取正文,支持多种网页结构。

7

Jina Reader

通用内容提取 API,覆盖面广,是可靠的兜底方案之一。

8

FxTwitter(Twitter 专用)

Twitter/X 链接自动走这条路径,通过 FxTwitter API 获取推文内容、媒体和互动数据。

9

Brave Search 兜底

最后一道防线。当所有直接抓取方式都失败时,用目标 URL 作为搜索词在 Brave Search 中查找,返回搜索快照中的内容。


智能降级

零配置,自动选择最快的抓取路径。微信/知乎等强反爬站点自动启用浏览器模式,Twitter 链接自动走专用 API。

9 种策略 · 自动切换

结构化输出

JSON 格式返回,正文为 Markdown,元数据包含标题、描述、作者、发布时间、站点名称。AI pipeline 直接消费,无需二次处理。

Markdown 正文 + JSON 元数据

双级缓存

内存 LRU(500 条)加速热点请求,SQLite 持久化(7 天 TTL)保证重启不丢数据。重复请求毫秒级返回。

内存 + SQLite · TTL 7 天

速率限制

全局 + 域名级双维度限速,内置微信/知乎/CSDN 等站点的延迟配置。防止被目标站点封禁,也保护下游 API 配额。

5 RPS 全局 · 域名级延迟

反爬措施

随机 User-Agent 池、Referer 伪装、Sec-Fetch 头,模拟真实浏览器请求。Firecrawl stealth 代理绕过 Cloudflare。

UA 池 · Stealth 代理

批量抓取

一次请求最多 20 个 URL,并发控制避免过载。适合批量采集场景,如 RSS 全量更新、知识库构建。

POST /batch-fetch · 最多 20 URL

谁在用 Fetchoo
🤖

AI 应用开发者

为 RAG 系统、知识库、AI Agent 提供网页内容源。Fetchoo 返回的结构化 JSON 可以直接喂给 LLM,无需额外清洗。

curl "/fetch?url=https://article.com" → LLM context
📰

内容聚合

监控多个网站的内容更新,自动提取正文和元信息。适合 RSS 替代方案、竞品监控、舆情分析。

POST /batch-fetch {urls: [...]} → 批量更新
🔗

链接预览

为应用生成链接预览卡片。metadata 字段包含 title、description、image,直接用于渲染预览 UI。

metadata.title + metadata.image → 预览卡片
📊

数据采集

从各类网页中提取结构化数据。支持反爬站点(微信、知乎)、需要 JS 渲染的现代页面、Twitter 推文。

?url=https://mp.weixin.qq.com/... → Markdown

GET
/fetch
单页抓取,返回结构化 JSON
url 必填 · 目标网页 URL
stealth 强制浏览器模式
no_cache 跳过缓存直接抓取
POST
/batch-fetch
批量抓取,最多 20 个 URL
{ urls: [], max_concurrent: 3 }
max_concurrent 默认 3,上限 10

响应字段说明
字段 类型 说明
code int 状态码。200 成功,400 参数错误,500 服务端错误。
message string 状态描述。成功时为 "success"。
data.url string 最终使用的 URL。如果页面有 canonical 标签,会返回 canonical URL。
data.title string 页面标题。优先取 Open Graph 标题,其次取 HTML title 标签。
data.content string 提取的正文内容,Markdown 格式。去除了导航栏、广告、侧边栏等干扰元素,只保留正文。
data.mode string 实际命中的抓取策略。告诉你这次请求是用哪种方式成功的。 http / stealth / firecrawl / webpagesnap / markdown-new / defuddle / jina / fxtwitter / brave-search / cached
data.fetch_time float 抓取耗时,单位秒。命中缓存时通常 < 0.01s。
data.content_length int 正文内容的字符数。可用于判断页面是否有足够内容。
data.selector_matched string 匹配到的 CSS 选择器。Fetchoo 用智能选择器提取正文,如 article、main、.post-content 等。
data.metadata object 页面元信息,从 HTML meta 标签和 Open Graph 标签提取: title · description · image · author · publish_date · site_name

📦

开源 · 自托管

Fetchoo 是开源项目,MIT 协议。你可以用 Docker 一行命令部署到自己的服务器,数据完全自控。也可以直接使用公共实例。

GitHub →