最近在做一个 RAG 项目,需要把大量技术文档喂给大模型。
一开始用的是常规的网页抓取方案,结果抓回来的内容简直惨不忍睹——导航栏、页脚、广告、脚本代码混在一起,50000 token 的 HTML 里真正有用的内容不到 800 token。
更气人的是,有些网站还加了 Cloudflare 防护,直接返回 403 或者验证码页面。用 Playwright 跑无头浏览器吧,又慢又重,一个请求要等好几秒。
在 GitHub 上翻了无数项目,试过了 trafilatura、newspaper3k、readability 等等,效果都差强人意。
直到发现了 webclaw,简直是打开了新世界的大门!

项目介绍
webclaw 是一款专为 AI 工作流打造的高性能网页提取工具。

它的核心目标很简单:把网页转成干净、结构化、适合大模型使用的内容。
不同于传统的网页抓取工具,webclaw 从底层重新设计了整个提取流程。它用 Rust 编写,通过 TLS 指纹模拟浏览器行为,在不启动真正浏览器的情况下就能绕过大多数反爬机制。
提取引擎会自动识别并剔除导航栏、广告、脚本等无用信息,只保留核心正文内容。
核心亮点
🌟 Token 优化:减少 90% 的无效信息
这是 webclaw 最惊艳的特性。原始 HTML 页面通常包含大量的导航链接、CSS 样式、脚本代码、重复的页脚内容等。
这些信息对人类阅读来说是必要的,但对 AI 模型来说纯粹是浪费 token。
webclaw 的提取引擎采用九步优化流水线,通过文本密度、语义标签、链接比例、位置信息、上下文相关性等多种指标对 DOM 节点进行综合评分。
导航栏、广告、页脚、评论区等低分值节点会被自动剔除,而文章正文、标题、图片说明等高分值节点会被保留并整理。
⚡ 极速响应:比 Chrome 方案快 20 倍
传统的网页抓取方案(如 Playwright、Selenium)需要启动完整的浏览器实例,加载整个渲染引擎、JavaScript 引擎、CSS 解析器等,每个请求耗时 2-3 秒甚至更久。
这对于需要频繁访问网页的 AI Agent 来说是无法接受的——用户无法容忍等待几秒才能得到回答。
webclaw 采用完全不同的思路:它不启动浏览器,而是在 TLS 层面模拟浏览器行为。TCP 握手、加密套件、扩展信息、指纹特征等全部模拟 Chrome 142 的行为,让反爬系统误以为是真实用户访问。
这种方式带来了惊人的性能提升:
• 静态页面平均响应时间仅 118ms • 本地提取 10KB 页面只需 0.8ms • 本地提取 100KB 页面只需 3.2ms • 本地提取 500KB 页面只需 12.1ms • 整体性能比基于 Chrome 的方案快 20 倍
🤖 原生 MCP 支持:无缝接入 AI Agent
webclaw 内置了 MCP(Model Context Protocol)服务器,这意味着它可以直接接入 Claude Code、Cursor、Windsurf、OpenCode、Codex 等主流 AI 工具,无需编写任何适配代码。
MCP 是连接 AI 模型和外部工具的标准协议,通过统一的接口规范,AI Agent 可以调用各种工具而无需了解底层实现细节。
只需一行命令即可完成配置:
npx create-webclaw
这个命令会自动检测你安装的 AI 工具,并为每个工具生成相应的配置文件。配置完成后,重启你的 AI 工具,webclaw 的所有功能就会自动可用。
安装后,你的 AI Agent 就能直接执行网页抓取、站点爬取、内容对比、品牌信息提取等操作。
🛡️ 智能反爬绕过:自动应对 Cloudflare 等防护
现代网站普遍使用 Cloudflare、Akamai、DataDome 等反爬系统。这些系统会检查 TLS 指纹、浏览器特征等,普通的 HTTP 请求很容易被拦截。
webclaw 通过 primp 库在底层模拟 Chrome 的 TLS 指纹,使得请求看起来完全像来自真实浏览器。对于需要 JavaScript 渲染的页面,webclaw 会自动检测并切换到渲染路径,无需手动配置。
📦 丰富的输出格式:满足各种场景需求
webclaw 支持多种输出格式:
markdown | |
llm | |
text | |
json | |
html |
其中 llm 格式特别值得一提,它会进一步去除重复链接、空段落等,是喂给 RAG 系统的最佳选择。
快速上手
方法一:MCP 一键安装(推荐)
npx create-webclaw
这个命令会自动检测你安装的 AI 工具(Claude Code、Cursor、Windsurf 等)并完成配置。
方法二:Homebrew(macOS)
brew tap 0xMassi/webclaw
brew install webclaw方法三:预编译二进制
从 GitHub Releases 页面下载 macOS 或 Linux 二进制文件:
https://github.com/0xMassi/webclaw/releases
方法四:Docker
docker run --rm ghcr.io/0xmassi/webclaw https://example.com
使用示例
基础提取
# 提取单页内容(默认 markdown 格式)
webclaw https://example.com
# 指定输出格式
webclaw https://example.com --format markdown
webclaw https://example.com --format llm
webclaw https://example.com --format json只保留主内容
webclaw https://example.com/blog/post --only-main-content
自定义选择器
webclaw https://example.com \
--include "article, main, .content" \
--exclude "nav, footer, .sidebar, .ad"爬取文档站
webclaw https://docs.rust-lang.org --crawl --depth 2 --max-pages 50
提取品牌信息
webclaw https://github.com --brand
页面变化对比
# 保存快照
webclaw https://example.com/pricing --format json > pricing-old.json
# 对比变化
webclaw https://example.com/pricing --diff-with pricing-old.jsonSDK 使用
TypeScript
import { Webclaw } from "@webclaw/sdk";
const client = new Webclaw({ apiKey: process.env.WEBCLAW_API_KEY! });
const page = await client.scrape({
url: "https://example.com",
formats: ["markdown"],
only_main_content: true,
});
console.log(page.markdown);Python
from webclaw import Webclaw
client = Webclaw(api_key="wc_your_key")
page = client.scrape(
"https://example.com",
formats=["markdown"],
only_main_content=True,
)
print(page.markdown)写在最后
webclaw 是一款真正理解 AI 工作流需求的网页提取工具。它从底层重新设计了网页提取流程,通过 TLS 指纹模拟、智能内容评分、多格式输出等特性,解决了传统抓取工具存在的三大痛点:
痛点一:抓不到——反爬防护
痛点二:抓不干净——大量噪声
痛点三:抓了没用——格式不适合 AI
