关于 webclaw
webclaw 是面向 AI Agent 的网页提取技能,使用本地 Rust 引擎将 URL 转为整洁文本、Markdown 或结构化数据。它支持单页和整站采集;配置后还可通过托管引擎处理受保护或依赖 JavaScript 的页面。
主要功能
- 01本地提取 URL 为 Markdown、文本或 JSON
- 02抓取整站并发现 URL
- 03并行处理多个 URL
- 04提供 28 种站点专用提取器
- 05生成摘要、差异和品牌信息
- 06可选托管处理难以提取的页面
适用场景
- 01web_fetch 内容为空或受阻时采集网页
- 02将产品价格或规格提取为 JSON
- 03映射并抓取网站页面
- 04检查提取内容是否发生变化
MCP 相关
此技能会为 Agent 配置 webclaw MCP 服务。其提取工具向 MCP 客户端提供网页抓取、整站采集、URL 发现及相关网页内容操作。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ 0xmassi/ webclaw-skill --skill webclaw安装后在 Claude Code 中输入/webclaw确认已加载。
详细介绍
webclaw
由本地 Rust 引擎驱动,为 AI Agent 提供网页内容提取功能。通过 webclaw MCP 服务,它可以将任意 URL 转换为干净的 Markdown、文本或 JSON,而且无需 API 密钥。
安装
npx create-webclaw
这会将 npx @webclaw/mcp MCP 配置写入你的 Agent(Claude Code、Cursor、Windsurf、Codex、Antigravity 等)——无需安装任何东西;服务会在首次启动时获取并缓存。重启 Agent 即可加载下方工具。
- 无需密钥。 提取在你的设备上运行:对常见场景而言免费、私密且不限量。静态网站、文档、博客、服务端渲染页面和产品页面都可在本地处理。
- 可选升级。 设置
WEBCLAW_API_KEY(获取地址:https://webclaw.io),webclaw 就会在本地提取无法处理页面时,升级到托管引擎:例如受机器人防护的网站和 JavaScript 渲染的 SPA。没有密钥时,这些页面会返回明确提示,告知你如何解锁。
何时使用此技能
- 你需要可靠的网页内容和干净、结构化的输出。
web_fetch返回的内容为空、不完整或被拦截。- 你需要 JSON 格式的结构化数据(定价表、产品规格、联系信息)。
- 你需要爬取整个网站或发现所有 URL。
- 你需要比原始 Markdown 更干净、针对大模型优化的内容。
- 你需要特定网站的提取器(GitHub、Reddit、YouTube、npm、PyPI、Amazon)。
- 你需要总结、比较差异或搜索网页。
工具
除非另有说明,所有工具都无需密钥即可在本地运行。输出格式:markdown(默认)、text、llm(添加包含标题和 URL 的页眉,并提供整洁的链接引用,最适合馈送给模型)以及 json(完整元数据)。
scrape:提取单个 URL
url(必填)、format、include_selectors、exclude_selectors、only_main_content、browser(chrome | firefox | random)、cookies。
YouTube 的 watch、shorts 和 youtu.be URL 还会在内容旁返回文字稿和视频元数据块。
crawl:爬取整个网站
url、depth(默认 2)、max_pages(默认 50)、concurrency(默认 5)、use_sitemap、format。
map:发现 URL
url。优先使用站点地图发现;若站点地图内容不足,则回退到有边界的同源爬取。
batch:并行处理多个 URL
urls(数组)、format、concurrency(默认 5)。
extract:通过大模型提取结构化数据
url,以及 prompt(自然语言)或 schema(JSON Schema)之一。请参阅下文的大模型设置。
summarize:快速总结
url、max_sentences(默认 3)。请参阅下文的大模型设置。
diff:检测内容变化
url、previous_snapshot(之前提取的 JSON)。比较的是提取后内容层面的变化,而非原始 HTML。
brand:视觉形象
url。返回颜色、字体、标志和网站图标。
search:网页搜索
query、num_results(≤10)、country、lang、scrape(同时抓取并提取每个结果页面)。在本地使用你自己的 SERPER_API_KEY(可在 serper.dev 免费获取);若未设置,则回退到托管 API。
vertical_scrape:提取特定网站的类型化 JSON
name(提取器名称)、url。返回类型化字段(标题、价格、作者、评分),而非通用 Markdown;若 URL 与提取器不匹配,则返回清晰的“URL 不匹配”错误。受保护网站的垂直提取器(Amazon、eBay、Etsy、Trustpilot)需要 WEBCLAW_API_KEY;未设置时会返回提示,要求你设置该密钥。
list_extractors:列出全部 28 个网站提取器
无参数。返回每个提取器的名称和 URL 格式:
reddit、hackernews、github_repo、github_pr、github_issue、github_release、pypi、npm、crates_io、huggingface_model、huggingface_dataset、arxiv、docker_hub、dev_to、stackoverflow、substack_post、youtube_video、linkedin_post、instagram_post、instagram_profile、shopify_product、shopify_collection、ecommerce_product、woocommerce_product、amazon_product、ebay_listing、etsy_listing、trustpilot_reviews。
research:深度多源研究 (需要 WEBCLAW_API_KEY)
query、deep、topic。在托管引擎上运行搜索、阅读和综合循环,并返回附有引文的报告。
哪些工具需要密钥?
| 无需密钥即可使用(本地运行) | 需要 WEBCLAW_API_KEY(托管) |
|---|---|
scrape、crawl、map、batch、extract、summarize、diff、brand、vertical_scrape、list_extractors | research |
search(使用你自己的 SERPER_API_KEY;未设置时回退到托管服务) | 应对受机器人保护和使用 JavaScript 渲染的页面 |
LLM 设置(用于 extract 和 summarize)
这两个工具使用 LLM 提供商链:首先使用本地 Ollama(免费且私密;从 ollama.com 安装),然后使用你设置的 OPENAI_API_KEY、GEMINI_API_KEY 或 ANTHROPIC_API_KEY。无需 webclaw 密钥。
提示
- 对于 GitHub、Reddit、YouTube、npm、PyPI 或 Amazon,使用
vertical_scrape(或普通的scrape,它会自动检测大多数垂直领域),一次调用即可获取带类型的字段。 - 设置
only_main_content: true,以去除导航栏、侧边栏和页脚。 - 将内容传递给模型时使用
llm格式。 - 先运行
map确定网站范围,再抓取所需的部分。 - 如果页面受到机器人保护或仅支持 JS,请设置
WEBCLAW_API_KEY以升级处理;未设置时会明确提示该页面需要密钥。
与 web_fetch 的比较
| webclaw | web_fetch | |
|---|---|---|
| 输出质量 | 多步骤提取流程;提供干净的 Markdown 和 llm 格式 | 基本 HTML 解析 |
| 结构化提取 | 基于 LLM 和 schema,提供 28 种带类型的提取器 | 无 |
| 爬取和映射 | 全站爬取和 URL 发现 | 单个页面 |
| 受机器人保护和使用 JS 的页面 | 可处理(本地尽力而为;设置密钥后自动处理) | 失败或仅提供可读性处理 |
| 费用 | 默认免费且在本地运行 | 免费 |
快速临时查询时使用 web_fetch。如果需要可靠性、清晰的结构、结构化数据或全站覆盖,请使用 webclaw。