acrawl 是一款由 LLM 驱动的自主网页爬虫工具,以单个 Rust 二进制文件形式提供。它的核心目标是用自然语言描述需求,即可获得结构化数据,无需编写代码。
用途与定位 acrawl 定位为“既能行动又能观察”的浏览器自动化代理。它不仅能够导航、点击、提取内容,还能检查网络流量、调试控制台错误、分析页面性能、审计无障碍性以及拦截网络调用,即把完整的 DevTools 能力作为一等代理工具暴露出来。主要面向需要程序化网页自动化的开发者与团队,可放入服务器或 CI 流水线中运行。
分发与运行环境 它作为单个 Rust 二进制文件分发,不依赖 Python 或 Node 运行时,也不需要 Docker。使用 cargo build --release 可生成自包含的可执行文件。浏览器自动化部分仍需下载 Chromium。官方提供了 Linux / macOS(x64 / ARM64)和 Windows(x64,PowerShell)的安装方式,安装脚本会下载最新二进制、校验 SHA256 并配置 CloakBrowser 用于隐蔽浏览器自动化,浏览器功能需要 Node.js 20+。
主要能力
- 无需代码:用英文描述目标,代理自行规划、导航和提取。
- 智能抓取路由:静态页面走 HTTP 快速获取;检测到 JS 框架标记(next_data、__nuxt、__vue、ng-app、React 根等)、认证重定向或过短的 <noscript> 响应体时,透明升级到无头浏览器。
- 子代理并行:可派生多个子代理到独立浏览器标签页,各自有独立状态与步数预算;通过 URL 认领注册表避免兄弟代理重复爬取同一页面。
- MCP 客户端与服务器:可通过 MCP 服务器扩展自定义工具;acrawl mcp 会向 Claude Code、Cursor、VS Code、Zed 等 16 个以上客户端暴露 38 个浏览器与 DevTools 工具以及 run_goal。
- 25 家 LLM 提供商:包括 Anthropic、OpenAI、Google Gemini、DeepSeek、AWS Bedrock、Azure OpenAI、Vertex AI、GitHub Copilot、Groq、Mistral、xAI、Cohere、Alibaba DashScope、OpenRouter 等,也可通过任意 OpenAI 兼容端点自带模型。
- 确定性脚本与 AI 混合:可用 JSON 脚本定义循环、条件与并行分支,执行时不调用 LLM;页面行为异常时回退到代理处理。
工具与观测能力 工具箱共 43 个工具。navigate 工具的 format 参数控制页面返回方式;fit_markdown 采用两遍处理:先硬删除 class 或 id 包含 nav、footer、header、sidebar、ads、comment、promo、advert、social、share 等字符串的元素,再基于得分剪枝(阈值 0.48),得分公式为 0.4×文本密度 + 0.2×(1−链接密度) + 0.2×标签权重 + 0.1×class_id 得分 + 0.1×ln(文本长度+1),其中标签权重 article=1.5、h1=1.2、h2=1.1、h3/p/section=1.0、h4=0.9、h5/table=0.8、h6=0.7、span=0.3、div/li/ul/ol=0.5。若页面重要内容位于 sidebar、nav 等元素内,应改用 markdown;若 fit_markdown 剪掉全部内容,会自动回退为纯文本。交互工具(click、click_at、fill_form、hover、press_key、go_back、scroll、switch_tab、select_option、set_device、refresh)返回 page_state 对象,首次交互返回完整快照,后续交互返回差异;无变化时返回 changed=false。
使用方式 可用自然语言描述目标,例如抓取商品目录(代理会翻页 50 页并返回结构化 JSON)、填写并提交表单、监控价格、从 JS 渲染页面提取、并行多页爬取(最多 5 个并发子代理)。凭证保存在 ~/.acrawl/credentials.json,可用 ACRAWL_CONFIG_HOME 覆盖配置目录。acrawl 启动时会检查更新。可选安装 acrawl Bridge 浏览器扩展,让 acrawl 控制真实浏览器(携带既有会话、Cookie 与扩展);也可选安装 acrawl-mcp 技能。
限制与说明 浏览器功能需要 Node.js 20+;使用无头浏览器需下载 Chromium;凭证需配置。其余如价格、收费模式、性能基准等事实暂未提供。