关于 Crawlberg
Crawlberg 是面向开发者和 AI Agent 的网站抓取与爬取工具,可输出 Markdown 和结构化数据。它提供多语言绑定、可替换的处理流水线,以及用于 JavaScript 页面渲染的无头浏览器回退。
主要功能
- 01抓取单页或整站并提取结构化数据
- 02将网页转换为含引用的 Markdown
- 03按深度、页面数和并发配置爬取
- 0414 种语言绑定及命令行工具
- 05支持无头浏览器渲染 JavaScript 页面
适用场景
- 01为 AI Agent 提供网页内容与元数据
- 02批量抓取网站并筛选相关页面
- 03将 JavaScript 页面转换为 Markdown
MCP 相关
提供 MCP 服务,向 AI Agent 暴露抓取与爬取能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/xberg-io/crawlberg:1.12.3本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/xberg-io/crawlberg:1.12.3stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Crawlberg
将任意网站转换为整洁、结构化的数据。只需向 Crawlberg 提供一个 URL,即可使用你熟悉的语言获取 Markdown、元数据和链接——无论是单个页面还是整个网站。
是什么?为什么选择它?
你需要的是网络上的数据,而不是原始 HTML。Crawlberg 可端到端地完成爬取、抓取和清理:它获取网页、跟踪链接、将每个网页转换为 Markdown,并提供结构化元数据(标题、链接、图片、社交卡片和 JSON-LD 数据),让你无需解析,直接获取内容。
它基于单一 Rust 核心运行,14 种语言绑定的结果完全一致,还能帮你处理棘手的问题:对于 JavaScript 密集型网页,它会回退到真实的无头浏览器;检测并绕过机器人过滤机制;遵守 robots 和站点地图规则;按域名限制请求速率;默认拒绝访问私有或内部地址。你可以通过代码、AI Agent、REST 服务或 CLI 来使用它。
管线的每个部分都是可替换的 trait,包括爬取队列、速率限制器、存储、事件流和内容过滤器,因此你可以接入自己的行为。代理池、调优后的机器人规避、经过身份验证的会话、调度和计费等托管附加功能由 xberg-enterprise 提供。
功能
| 功能 | 描述 |
|---|---|
| 结构化提取 | 文本、元数据、链接、图片、资源、JSON-LD、Open Graph、hreflang、网站图标、标题和响应头 |
| Markdown 转换 | 整洁的 Markdown,包含引文、文档结构和内容适配模式 |
| 并发爬取 | 深度优先、广度优先或最佳优先遍历,可配置深度、页面限制和并发数 |
| 14 种语言绑定 | Rust、Python、Node.js、Ruby、Go、Java、Kotlin(Android)、C#、PHP、Elixir、Dart、Swift、Zig 和 WebAssembly |
| 智能过滤 | BM25 相关性评分、URL 包含/排除模式、遵守 robots.txt 规则、发现站点地图 |
| 浏览器渲染 | 为 JavaScript 密集型 SPA 提供可选的无头浏览器,并支持 WAF 检测和绕过 |
| 批处理与流式处理 | 并发抓取或爬取数百个 URL;通过异步流实时获取爬取事件 |
| 默认防范 SSRF | 拒绝环回、私有、链路本地和云元数据地址;可通过环境变量或 CrawlConfig 关闭 |
| 身份验证与速率限制 | 支持 HTTP Basic、Bearer 和自定义请求头身份验证,并提供 Cookie 存储;按域名限制请求速率 |
| MCP 服务与 REST API | 为 AI Agent 提供 Model Context Protocol 集成,并提供带有 OpenAPI 规范的 HTTP 服务 |
支持的平台
所有绑定均提供适用于 glibc Linux(x86_64/aarch64)、macOS 和 Windows 的预编译二进制文件。对 musl Linux(Alpine)的支持则有意保持有限:CLI、Docker 镜像、Rust、Ruby、Java 和 Elixir 可在其上运行;Node、Python、Go、PHP 和 C# 绑定不提供 musl 构建产物。完整表格和 Alpine 替代方案请参阅平台支持矩阵。
⭐ 为此仓库点亮星标以表达支持——这有助于其他人发现 Crawlberg。
快速开始
语言包
Java
可通过 Maven Central 获取,坐标为 io.xberg.crawlberg:crawlberg。依赖代码片段和当前版本请参阅 Java README。
Elixir
将 {:crawlberg, "~> 0.3"} 添加到 mix.exs 依赖项中。完整文档请参阅 Elixir README。
Kotlin (Android)
可通过 Maven Central 获取,坐标为 io.xberg.crawlberg.android:crawlberg-android。依赖代码片段和当前版本请参阅 Kotlin README。
Swift
通过 Swift Package Manager 添加。完整文档请参阅 Swift README。
Zig
安装和使用说明请参阅 Zig README。
C/C++ (FFI)
可从 GitHub Releases 获取 C 头文件和共享库。完整文档请参阅 FFI crate。
CLI
cargo install crawlberg-cli
# Or install the prebuilt binary via cargo-binstall:
cargo binstall crawlberg-cli
brew install xberg-io/tap/crawlberg
Windows 用户可通过 Scoop 安装相同的二进制文件:
scoop bucket add xberg https://github.com/xberg-io/scoop-bucket
scoop install crawlberg
完整文档请参阅 CLI README。
从 xberg-io/crawlberg 安装 Crawlberg 插件。它包含 Crawlberg Agent 技能(网站爬取、HTML→Markdown 抓取、无头 Chrome 备用方案)以及 crawlberg MCP 服务,—请在下方选择你的运行时。
该套件面向 Claude Code、Codex、Cursor、Gemini CLI、Kimi、OpenCode、Factory Droid、 Hermes、Pi、Agent Plugins 和 GitHub Copilot CLI。请阅读插件指南 ,了解运行时资源、CLI 先决条件和配置。支持 MCP 的适配器会提供该产品的工具;Hermes 使用本地 stdio 桥接,并需显式选择技能。Pi 会加载技能和提示词模板,且可执行操作需要该产品的 CLI。
使用 skills CLI 安装公开的 Agent Skills,无需安装插件或注册 MCP:
npx skills add xberg-io/crawlberg --list
npx skills add xberg-io/crawlberg
通过交互方式选择技能和目标 Agent。安装说明不会安装该产品的 CLI,也不会配置提供商凭据。
Claude Code
/plugin marketplace add xberg-io/crawlberg
/plugin install crawlberg@crawlberg
Codex CLI
/plugins add https://github.com/xberg-io/crawlberg
然后搜索 crawlberg 并选择 Install Plugin。
Cursor
Settings → Plugins → Add from URL → https://github.com/xberg-io/crawlberg,然后选择 crawlberg。
Gemini CLI
在此仓库的检出副本中:
gemini extensions install ./plugin
清单位于 plugin/ 中。请参阅 Gemini 扩展参考
,了解本地安装和更新。
Factory Droid
droid plugin marketplace add https://github.com/xberg-io/crawlberg
droid plugin install crawlberg@crawlberg
GitHub Copilot CLI
copilot plugin marketplace add https://github.com/xberg-io/crawlberg
copilot plugin install crawlberg@crawlberg
Pi
在此仓库的检出副本中:
pi install ./plugin
下一个插件版本发布后,安装与 OpenCode 相同的软件包:
pi install npm:@xberg-io/opencode-crawlberg
Pi 会加载捆绑的技能和提示词模板。使用 /crawlberg-scrape 或 /crawlberg-crawl,并将输入作为参数传入。请单独安装 crawlberg CLI 以便通过 shell 访问。此软件包不会注册 MCP 服务、钩子或原生 Pi 扩展。
opencode
将软件包添加到 opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@xberg-io/opencode-crawlberg"]
}
文档
完整指南、各语言 API 参考、底层/运行模型、反机器人策略和可观测性文档请访问 docs.crawlberg.xberg.io。
贡献
欢迎贡献!请参阅我们的贡献指南。
Xberg.io 旗下项目
- Xberg — 开源内容智能引擎:从 101 种格式(115 种文件扩展名)中提取文本、表格和元数据,并支持 OCR、转录和代码智能。MIT。
- Xberg Pro — 完整的可自托管内容智能后端,打包在单个容器中。商业版。
- Xberg Enterprise — 分布式、受治理的内容智能平台,可在 Kubernetes 上扩展,并提供团队治理和支持。商业版。
- crawlberg — 网页爬取和抓取,支持 HTML→Markdown,以及无头 Chrome 回退方案。
- html-to-markdown — 快速、无损的 HTML→Markdown 引擎。
- liter-llm — 通用 LLM API 客户端,为 14 种语言和 165 个提供商提供原生绑定。
- tree-sitter-language-pack — tree-sitter 语法和代码智能基础组件。
- alef — 多语言绑定生成器,可为 5 个多语言代码仓库生成各语言绑定。
许可证
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。