用途:Crawlberg 用于抓取网页、抓取站点并转换为 Markdown。适合需要把页面抓取为 Markdown 与结构化元数据、按深度和页数爬取站点、从 sitemap 枚举 URL、驱动浏览器(点击、输入、滚动)并捕获 DOM,或通过 MCP 工具在其他智能体框架中调用同一操作。
主要能力:scrape 抓取单页为 JSON 或 Markdown;crawl 以 BFS 跟随链接,受深度、页数、并发限制;map 通过 sitemap 和链接提取枚举 URL,不渲染页面;interact 执行浏览器动作(click、type、press、scroll、wait、screenshot、executeJs、scrape);batch-scrape 与 batch-crawl 并发处理多个 URL;download 下载文档并报告文件元数据;citations 将 Markdown 链接改写为编号引用。默认静态抓取,遇到 WAF 或 JS 页面时自动回退无头 Chrome。
使用方式:安装可用 brew install xberg-io/tap/crawlberg、npx @xberg-io/crawlberg-cli --help、uvx --from crawlberg-cli crawlberg --help,或 cargo install crawlberg-cli --features all。验证:crawlberg --version。MCP 服务器用 crawlberg mcp(stdio,无需参数),需包含 mcp feature 的构建。serve 子命令提供 REST API,需 api feature,默认 host 0.0.0.0、port 3000。常用共享标志包括 --format(json 或 markdown,默认 json)、--timeout(默认 30000)、--browser-mode(auto、always、never,默认 auto)、--browser-endpoint、--respect-robots-txt(默认关闭)、--config。
适用场景:单页转 Markdown、按限制爬取站点、用 map 规划爬取、浏览器交互抓取动态内容、批量并发抓取多个 URL。
限制:无头回退需要本地可访问 Chrome/Chromium,除非仅使用 --browser-mode never。--respect-robots-txt 默认关闭,抓取非自有主机时应显式开启。默认 --rate-limit 为 200 毫秒。Markdown 输出会跳过元数据,需要元数据时用 --format json 读取 result.markdown.content。from-source 构建若不传 --features mcp 或 --features api(或 --features all),serve 与 mcp 子命令不可用。更多技能文档包括 crawling-a-site、scraping-html-to-markdown、mapping-urls、automating-the-browser、serving-the-api、headless-fallback。