Claude Code 网页研究工作流:怎么绕开 WebFetch 的限制
Claude Code 网页研究工作流:怎么绕开 WebFetch 的限制
Claude Code 4.5 以后,它已经是我处理非平凡编程任务的主界面。但有一件事我以为会 work、实际不行:喂它真正的网页做研究。内置 WebFetch 工具在大多数我需要的页面上失败:Reddit 帖子、微博/X 帖、付费 Substack、小红书帖子、任何登录后或现代 SPA 渲染的页面。
下文是我用来补这个洞的工作流。
WebFetch 到底为什么读不了关键页面
WebFetch 是服务器端 HTTP 请求。Claude Code 发 GET、解析 HTML、喂给模型。这对:
- 静态文档(MDN、Python docs、GitHub READMEs)
- Wikipedia
- 传统 CMS 上的普通博客
完全 OK。
但在:
- Reddit:客户端 React SPA 渲染。WebFetch 拿到 200KB 的导航、登录横幅、第 1-2 条评论的外壳 — 永远拿不到完整楼层树。
- 微博 / X:SPA + 登录限制。WebFetch 拿到登录墙。
- 付费 Substack / 付费 newsletter:WebFetch 看到付费墙,不是你订阅的文章。
- 小红书 / 微信公众号 / 知乎:SPA + 反爬。WebFetch 返回空或验证码。
- 多数现代营销页:lazy load + JS hydration;WebFetch 抓不到主内容。
真正有研究价值的页面——niche subreddit、X 上的开发者讨论、付费分析、中国平台内容——恰恰是 WebFetch 抓不到的。
补 gap 的工作流
两件东西:
- 浏览器侧 Markdown 提取器 — 读你真实浏览器 session 里渲染好的 DOM
- MCP server — 暴露提取器为 Claude Code 能调的 tool
Web2MD 两个都有。扩展跑转换,MCP server 让 Claude Code 驱动它。
一次性 setup
- Chrome Web Store 装 Web2MD
- 登录开 Pro(MCP server 是 Pro 功能)
- Claude Code 配置加 MCP server:
// ~/.claude/claude_code_config.json
{
"mcpServers": {
"web2md": {
"command": "npx",
"args": ["-y", "@web2md/mcp-server"],
"env": {
"WEB2MD_API_KEY": "<web2md.org/dashboard 拿你的 key>"
}
}
}
}
重启 Claude Code。web2md.convert 工具就和 WebFetch 并列可用。
日常用法
任何 Claude Code session:
> 读 https://www.reddit.com/r/ObsidianMD/comments/abc/thread 总结前 3 个抱怨
Claude Code 调 web2md.convert(url)。背后 MCP server 通过 Native Messaging 让你浏览器扩展跑转换,扩展读渲染后的楼层树返回干净 Markdown 包含完整评论树,Claude Code 总结。同样模式适用 X、小红书、付费内容(你有权限的情况下),或者任何 WebFetch 卡住的站。
写 /research slash command
重复研究模式封 slash command。~/.claude/commands/research.md:
---
description: 用 Web2MD 读网页,提取要点,存原始+摘要到 ./research/
---
读用户提供的 URL 做研究。
步骤:
1. 调 web2md.convert 拿 Markdown。
2. 完整 Markdown 存 ./research/<slug>.md
3. 写 5 个 bullet 摘要。
4. 找 3 个最强反论点或开放问题。
5. 摘要存 ./research/<slug>-summary.md
如果 web2md.convert 失败(扩展没跑等),fallback 到 WebFetch
并警告用户可能漏了动态内容。
现在 /research <url> 是一行命令,产出原始存档 + 结构化分析。摘要是 source of truth;原始 .md 是摘要漏东西时回查的。
Subagent 并行做对比研究
"对比 5 篇博客怎么解释 X" 这种任务,spawn 并行 subagent:
> 对比这 5 篇博客怎么解释 MCP transport:
> - https://blog1.example.com/...
> - ...
> spawn 5 个 Explore subagent,每个调 web2md.convert,
> 提 3 个核心论点,返回结构化总结。父 agent 聚合成对比表。
每个 subagent 拿干净 Markdown,并行跑,返回小 payload。父 agent 不用加载 5 篇完整页面,省巨量 context。
这个工作流不能干什么
- 不替代真正的爬虫。要程序化抓 10000 页,Web2MD 浏览器 bound 的 MCP 形态不合适。用 REST API 走服务器端。
- 不绕付费墙。扩展读你浏览器能看到的内容。没订阅 Substack,Web2MD 看的也是付费墙,和 WebFetch 一样。
- 不在 headless CI 里跑。MCP server 要 Chrome 扩展跑在真实浏览器。CI/CD 用 REST API。
浏览器侧适合开发机器上的交互式 Claude Code session。这是这一篇讨论的场景。
为什么这件事比表面上看更重要
Claude Code 的核心承诺是"AI 能驱动你的开发环境"。它已经驱动文件系统、shell、git。web 这一个输入源,平台给了一个工具(WebFetch)但是它在你真正需要的页面上失败。补这个洞 = 让 Claude Code 从"能读你给它的 web"升级到"能读你实际用的 web"。
MCP 标准的存在就是为了这种事。Claude Code 配上浏览器侧转换器 = 整个工作流闭环。
相关阅读
安装
免费 3 次/天给扩展用。Pro $9/月解锁无限 + MCP server + REST API + 批量导出。