你让 Claude Code 去调研竞争对手的定价页。它先搜索网页,只返回一段摘要:“起价为每月 29 美元。”这远远不够。你需要完整的价格表、功能对比、企业版层级——也就是页面的真实内容。
网页搜索给你摘要。网页抓取给你整页内容。
下面介绍如何把网页抓取接入 Claude Code——这样你的代理就能读取完整网页、提取结构化数据,并把这些调研结果直接纳入工作流。
网页搜索 vs 网页抓取:有什么区别?
二者相关,但职责不同:
| 网页搜索 | 网页抓取 | |
|---|---|---|
| 返回内容 | 摘要、链接、引用 | 以干净 Markdown 形式返回完整页面内容 |
| 最适合 | 快速回答、发现信息、事实核查 | 深度调研、内容提取、竞品分析 |
| 速度 | 几秒钟 | 几秒到一分钟(完整页面获取) |
| 数据深度 | 表层 | 完整——每个标题、段落、表格都保留 |
| 使用场景 | “X 的价格是多少?” | “提取整个定价页并和我们的价格对比” |
你的代理两者都需要。先搜索找到合适页面,再抓取才能真正读懂。
为什么 Claude Code 需要网页抓取
Claude Code 擅长推理你的代码库。它可以重构函数、编写测试,并跨文件排查问题。但当它需要调研某些内容时——比如竞争对手的 API 文档、某个库的更新日志、某个产品的功能列表——就会碰到瓶颈。
网页搜索有帮助,但摘要能提供的信息有限。一个定价页可能有 12 个套餐,一个文档页可能有 40 个章节,一个更新日志可能覆盖 3 年的发布记录。150 个字符的摘要只告诉你一件事,整页内容才告诉你全部。
网页抓取可以把完整页面交给你的代理。然后它就能:
- 提取结构化数据(价格档位、功能列表、API 端点)
- 逐项比较竞争对手的产品
- 将文档直接用于代码生成(“严格按照文档中的说明实现认证”)
- 跟踪时间变化(每周抓取同一页面并对比结果)
方法一:手动网页抓取(脆弱方案)
你可以把 Claude Code 配置为直接调用抓取服务。选择一个提供商(Firecrawl、Jina、ScrapingBee),注册账号,获取 API key,然后接入代理。
手动方案的流程:
- 注册抓取服务
- 获取 API key
- 编写 Claude Code 可以调用的 shell 脚本或 MCP 配置
- 处理速率限制、重试和抓取失败
- 解析响应并回传给代理上下文
这适合偶尔使用。但一旦规模上来就容易出问题——不同网站会封锁不同抓取器,各家速率限制不同,而维护这些集成会消耗原本用于开发的时间。
方法二:用于抓取的 MCP 服务器
网页抓取的 MCP 服务器把抓取逻辑封装成可复用的集成。Firecrawl 的 MCP 服务器最常见——Claude Code 调用它,它就会从任意 URL 返回干净的 Markdown。
这种设置比手动对接 API 轻量,但你仍然要管理:
- 每种能力一个 MCP 服务器(抓取和搜索是分开的)
- 提供商特定的速率限制和身份验证
- 在不同抓取提供商之间切换时的格式不一致
方法三:一个 CLI 同时负责搜索 + 抓取(AnyCap 方式)
这种方式把搜索和抓取合并到一个命令界面中。你的代理先搜索找到页面,再抓取整页内容——全部通过同一个 CLI 完成。
# 第 1 步:搜索相关页面
anycap search --prompt "competitor pricing pages SaaS 2026" --citations
# 第 2 步:抓取最相关结果的完整内容
anycap crawl --url "https://competitor.com/pricing" -o pricing.md
运行时负责:
- 结构化输出。 页面会被转换为干净的 Markdown——保留标题、段落、表格和代码块。
- JavaScript 渲染。 动态页面(SPA、React 应用)会在提取前渲染。
- 干净内容。 导航、广告和模板内容会被剔除,剩下正文。
- 统一格式。 无论来源如何,所有抓取页面都会返回相同的 Markdown 结构。
安装:
npm i -g anycap
anycap login
anycap skill install --target ~/.claude/skills/anycap-cli/
真实用例:竞品研究流程
你的代理需要把自家产品的定价和三个竞争对手进行对比。完整流程如下:
# 1. 搜索竞争对手的定价页
anycap search --prompt "competitor A pricing plans 2026" --citations
anycap search --prompt "competitor B pricing plans 2026" --citations
anycap search --prompt "competitor C pricing plans 2026" --citations
# 2. 抓取每个定价页的完整内容
anycap crawl --url "https://competitor-a.com/pricing" -o competitor-a.md
anycap crawl --url "https://competitor-b.com/pricing" -o competitor-b.md
anycap crawl --url "https://competitor-c.com/pricing" -o competitor-c.md
# 3. 将抓取到的内容交给 Claude Code 分析
# 现在 Claude Code 拥有完整的定价数据,可以输出:
# - 对比表
# - 定价定位建议
# - 功能差距分析
你的代理已经完成了调研、抓取、分析和建议——全部在一次会话中完成。无需手动打开浏览器标签页,也不用复制粘贴。
真实用例:文档驱动开发
你的代理需要实现一个 API 集成。与其猜测认证流程,不如先抓取官方文档:
# 抓取 API 认证文档
anycap crawl --url "https://api.provider.com/docs/auth" -o auth-docs.md
# 抓取端点参考文档
anycap crawl --url "https://api.provider.com/docs/endpoints" -o endpoints.md
# 现在 Claude Code 是根据真实文档实现集成,
# 而不是依赖可能已经过时的训练数据
这就是“Claude Code,实现 Stripe 集成”(依赖训练数据,可能过时)和“Claude Code,抓取最新的 Stripe 文档,并严格按文档实现集成”(准确、最新、可靠)的区别。
真实用例:竞品监控
设置一个循环调研工作流。你的代理按计划抓取竞争对手页面,并对比结果:
# 抓取竞争对手更新日志
anycap crawl --url "https://competitor.com/changelog" -o competitor-changelog-$(date +%Y%m%d).md
# 抓取竞争对手功能页
anycap crawl --url "https://competitor.com/features" -o competitor-features-$(date +%Y%m%d).md
# 与上周的抓取结果进行比较
diff competitor-features-20260511.md competitor-features-20260518.md
每周执行一次。你的代理会在你的产品团队从客户那里得知之前,就先发现新功能、价格变化和信息更新。
搜索 + 抓取:完整调研栈
网页搜索负责发现。网页抓取负责阅读。两者结合,构成了代理的完整调研能力:
| 步骤 | 命令 | 作用 |
|---|---|---|
| 1. 发现 | anycap search |
带有可靠引用地找到相关页面 |
| 2. 提取 | anycap crawl |
将完整页面内容拉取为干净 Markdown |
| 3. 分析 | Claude Code | 基于提取内容进行推理 |
| 4. 行动 | Claude Code | 根据结果执行实现、比较或汇报 |
这就是有依据的调研——你的代理不依赖训练数据或不完整摘要,而是基于真正、最新、重要页面的内容来工作。
什么时候抓取,什么时候搜索
| 适合用搜索的时候... | 适合用抓取的时候... |
|---|---|
| 你需要快速答案 | 你需要完整页面 |
| 你在寻找有哪些页面存在 | 你已经知道需要哪一页,而且想拿到全部内容 |
| 你需要带引用、经过验证的摘要 | 你需要结构化数据提取 |
| 速度优先 | 深度优先 |
| 答案能放进摘要里 | 答案是表格、列表,或分布在多个章节 |
大多数调研流程都会同时使用两者:搜索用于发现,抓取用于提取。
FAQ
网页抓取能处理 JavaScript 渲染的页面吗?
可以。运行时会在提取前渲染动态内容(React、Vue、SPA)。你在浏览器里看到什么,代理就能拿到什么。
网页抓取和 Claude Code 内置网页搜索有什么不同?
Claude Code 内置网页搜索返回的是摘要和简短片段。网页抓取返回的是完整页面内容的 Markdown——每个标题、段落、表格和代码块都保留。快速回答用搜索,需要深度时用抓取。
我能在一次会话中抓取多个页面吗?
可以。每个 URL 运行一次 anycap crawl。你的代理可以遍历 URL 列表并顺序抓取。所有结果都会保存为本地 Markdown 文件。
如果某个页面阻止爬虫怎么办?
有些页面会阻止自动访问。运行时会尊重 robots.txt,并妥善处理访问限制。如果页面无法抓取,代理会收到清晰的错误信息,不会静默失败。
这在 Cursor 和 Codex 里也能用吗?
可以。anycap crawl 使用同一套 CLI,能在 Claude Code、Cursor 和 Codex 中运行。安装一次,所有代理都能用。
最后总结
网页搜索告诉你的代理“有什么”。网页抓取让你的代理“读到它”。对于竞品调研、文档驱动开发和内容提取来说,只靠搜索是不够的。
把两者都给你的代理。用搜索去发现,用抓取去理解。
→ 让 Claude Code 获得完整网页访问能力——通过一个 CLI 同时搜索 + 抓取
📖 接下来读什么
- 如何为你的 AI 代理提供网页搜索能力——一个 CLI 命令 —— 这篇抓取指南的网页搜索搭档。
- 用 AI 代理进行竞品监控 —— 构建一个自动监控竞争对手的 cron 任务。
- 面向 AI 代理的 AI 搜索:有依据的搜索 vs 传统 RAG —— 何时使用有依据搜索,何时使用向量搜索。
相关文章
- 如何用 Claude Code 生成视频:2026 完整指南 —— 能力会不断叠加。
- 什么是 Capability Runtime? —— 将搜索、抓取、图片、视频和存储打包进一个 CLI 的基础设施。
由 AnyCap 团队撰写。我们构建了 capability runtime,让你的代理拥有带引用的网页搜索、完整页面抓取,以及在无需你介入的情况下完成调研所需的一切。