mcpField
W
webclaw

webclaw

github.com/0xmassi数据与数据库363 次安装7 周前更新
代码仓库

关于 webclaw

webclaw 是面向 AI Agent 的网页提取技能,使用本地 Rust 引擎将 URL 转为整洁文本、Markdown 或结构化数据。它支持单页和整站采集;配置后还可通过托管引擎处理受保护或依赖 JavaScript 的页面。

主要功能

  1. 01本地提取 URL 为 Markdown、文本或 JSON
  2. 02抓取整站并发现 URL
  3. 03并行处理多个 URL
  4. 04提供 28 种站点专用提取器
  5. 05生成摘要、差异和品牌信息
  6. 06可选托管处理难以提取的页面

适用场景

  1. 01web_fetch 内容为空或受阻时采集网页
  2. 02将产品价格或规格提取为 JSON
  3. 03映射并抓取网站页面
  4. 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_extractorsresearch
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 的比较

webclawweb_fetch
输出质量多步骤提取流程;提供干净的 Markdown 和 llm 格式基本 HTML 解析
结构化提取基于 LLM 和 schema,提供 28 种带类型的提取器无
爬取和映射全站爬取和 URL 发现单个页面
受机器人保护和使用 JS 的页面可处理(本地尽力而为;设置密钥后自动处理)失败或仅提供可读性处理
费用默认免费且在本地运行免费

快速临时查询时使用 web_fetch。如果需要可靠性、清晰的结构、结构化数据或全站覆盖,请使用 webclaw。

评论

支持 Markdown