Back to Articles
Mar 4, 20261 week ago

Claude Code Web Scraping: How to Choose Among 5 Solutions?

Y
Yanhua@yanhua1010

AI Summary

Navigating the world of web scraping within Claude Code can be daunting, with at least five distinct tools available, each promising to extract content from websites. This article cuts through the confusion by providing a clear, tested comparison of these options, explaining that they are not direct competitors but complementary tools operating at different technical levels—from simple HTTP requests to full-scale browser automation and cloud services.

用 Claude Code 做内容创作,有一个绑不开的需求:抓网页内容。

保存一篇好文章、抓取推文数据、批量采集竞品信息,都需要从网页拿数据。但 Claude Code 生态里能用的方案至少有 5 种,从内置工具到云端服务到专业爬虫框架,看起来功能重叠,第一次接触很难选。

我把这 5 种方案都实测了一遍,这篇文章就是对比结果。每种方案擅长什么、不擅长什么、什么场景该用哪个,看完就清楚了。

先说一个关键前提:它们不在同一个层次

这 5 种方案最容易踩的坑,就是拿来直接横向比较。它们其实是不同技术层次的东西,就像螺丝刀、电钻和装修公司,各自解决不同层面的问题。

① WebFetch(网络层)→ 最轻量的 HTTP 请求工具

② Playwright MCP(浏览器层)→ 模拟真人操作的真实浏览器

③ Scrapling(爬虫框架层)→ 自适应解析的 Python 爬虫框架

④ Firecrawl(云端服务层)→ 网页数据提取的 SaaS 服务

⑤ Agent-Reach(聚合编排层)→ 11+ 社交平台的统一接入层

从上到下,层级递增,能力递增,复杂度也递增。互补关系,不是替代关系。

下面逐个说。

方案一:WebFetch

WebFetch 是 Claude Code 自带的内置工具,零配置,开箱即用。工作方式很直接:发一个 HTTP 请求,拿到 HTML,转成 Markdown 返回。

好处是真的轻。不用装依赖,不用配置,对静态页面几秒钟就有结果。安全性也最高,有内置沙箱,自动 HTTPS 升级,还带 15 分钟缓存。

问题在于它不执行 JavaScript。现代网页大量依赖 JS 渲染内容,WebFetch 拿到的可能只是一个空壳。不支持登录,不能点击、滚动、填表单,碰到企业级反爬策略也可能被直接拦截。

简单说,WebFetch 拿到的是「服务器返回的原始文档」,不是「你在浏览器里看到的页面」。

适合:快速看一个博客文章、抓公开的 API 文档、获取静态页面文本。

不适合:X/Twitter、SPA 单页应用、任何需要登录的页面。

我实测了一下,用它抓 X 帖子,直接返回 "JavaScript is not available",完全拿不到内容。

方案二:Playwright MCP

Playwright 是微软维护的浏览器自动化框架,通过 MCP 协议接入 Claude Code。它启动一个真实的 Chromium 浏览器,完整加载页面、执行 JS、渲染 DOM。

和 WebFetch 最大的区别:Playwright 拿到的是你眼睛看到的那个页面。JS 渲染的内容、动态加载的数据,全都有。而且它能交互,点按钮、填表单、模拟滚动、截图,甚至可以在浏览器里走完登录流程。微软维护,社区成熟,文档丰富,数据也全部在本地处理。

代价是重。每次操作都启动完整的 Chromium,资源消耗不小。一次只能操作一个页面,本质上是测试/自动化工具,不是为批量爬取设计的。如果你只想看一个静态博客写了什么,上 Playwright 确实有点大材小用。

适合:JS 渲染页面(SPA、React/Vue 应用)、需要登录的内容、需要交互操作、截图。

不适合:大规模批量爬取、高频率抓取。

同样的 X 帖子测试,Playwright 完整拿到了全文、作者信息、互动数据(回复/转发/点赞/书签/浏览量)、图片链接。未登录状态就能抓取 Article 类型帖子。

方案三:Scrapling

Scrapling 是一个 Python 爬虫框架,GitHub 20.6K stars,92% 测试覆盖率。和前两个不同,它不只是「发请求拿内容」,而是一套完整的爬虫工程体系。

它提供三种 Fetcher 模式可以切换:普通 HTTP 请求(Fetcher,类似 WebFetch),反反爬模式(StealthyFetcher,内置绕过 Cloudflare),浏览器渲染(DynamicFetcher,类似 Playwright)。

Scrapling 最值得说的特性是自适应解析。做过爬虫的都知道,网站一改版,选择器就失效,得手动更新。Scrapling 用相似度算法自动重新定位元素,DOM 结构变了也能找到对应内容。对于长期运行的爬虫任务,这个能力非常实用。

性能方面,官方数据是解析速度比 BeautifulSoup 快 400-600 倍。v0.4 还引入了 Spider 框架,类 Scrapy API,支持异步并发、断点续爬、流式处理。

但门槛也不低:需要 Python 3.10+ 环境,学习曲线比前两个陡很多,也不适合交互场景。如果你只是偶尔抓一个页面,Scrapling 有点杀鸡用牛刀。它的价值在长期的、批量的、需要应对反爬的数据采集任务。

它也内置了 MCP Server,可以直接在 Claude Code 中调用。

方案四:Firecrawl

Firecrawl 走的是完全不同的路线:云端 SaaS。YC 孵化,$14.5M A 轮,GitHub 69K+ stars,35 万+开发者在用。

你给它一个 URL,它在云端完成所有脏活(浏览器渲染、反爬绕过、内容清洗、结构化提取),直接返回干净的 Markdown 或结构化 JSON。除了单页抓取,还支持全站爬取、站点地图发现、搜索+抓取一体化。2026 年 1 月推出的 /agent 功能可以智能导航复杂网站,自动搜索和采集数据。

最大的好处是省心。不用装本地依赖,不用管版本兼容,有官方 MCP Server,npx -y firecrawl-mcp 一行搞定。

最大的顾虑是隐私。你抓取的所有内容都会经过 Firecrawl 的服务器。抓公开信息(博客、文档、新闻)问题不大,但涉及敏感数据的话,建议走本地方案。另外是费用,有免费额度,但大量使用需要付费。还有服务商依赖的问题,Firecrawl 挂了你就挂了。

方案五:Agent-Reach

Agent-Reach 和前四个都不一样。它不是一个独立的爬虫引擎,而是一个「脚手架」,把 X/Twitter、YouTube、B 站、小红书、Reddit、LinkedIn 等 11+ 平台的最佳抓取工具整合在一起,通过 MCP 协议提供统一入口。

YouTube 用 yt-dlp(148K stars),X 用 xreach CLI(cookie 认证),通用网页用 Jina Reader。每个平台挑最合适的工具来做。本地运行,免费开源。

问题是依赖链太长。底层挂着 yt-dlp、xreach、Jina Reader、feedparser、gh CLI 这一堆工具,任何一个出问题都会影响整体。项目相对较新(GitHub 4.2K stars,v1.2.0),稳定性还在验证中,多工具版本兼容的维护成本也不低。

它的价值在「广度」而不是「深度」。不会比 Firecrawl 更擅长抓网页,也不会比 Scrapling 更擅长反爬,但如果你需要同时从多个社交平台采集信息,它能省不少事。

横向对比

把几个关键维度放在一起看:

JS 渲染:WebFetch 不行,Playwright 和 Firecrawl 原生支持,Scrapling 可选,Agent-Reach 取决于底层工具。

交互能力(点击、填表、滚动):只有 Playwright 能做,其他四个都不行。

批量爬取:Scrapling 和 Firecrawl 的核心能力,其他三个不适合。

反反爬:Scrapling 内置,Firecrawl 云端处理,Playwright 有限支持,WebFetch 和 Agent-Reach 基本没有。

数据隐私:Firecrawl 的数据经过云端,其他四个都是本地处理。

配置难度:WebFetch 零配置,Firecrawl 低门槛(API Key),Playwright 和 Agent-Reach 中等,Scrapling 最高。

费用:只有 Firecrawl 收费(有免费额度),其他都免费。

实测:抓 X 帖子

光说不练没用,我拿一条自己的 X 帖子做了测试。

WebFetch:失败。返回 "JavaScript is not available"。X 是 SPA 应用,内容全靠 JS 渲染,WebFetch 拿到的就是一个空壳。

Playwright MCP:成功。完整拿到全文、作者、发布时间、互动数据、图片链接。未登录状态就能搞定。

结论很直接:X 这类现代 SPA 应用,必须用浏览器级别的方案。需要登录才能看的内容,可以在 Playwright 中走登录流程,或者用 Agent-Reach 的 xreach(cookie 认证)。

选型建议

别纠结「哪个最好」,按场景选:

快速看一个静态页面 → WebFetch,零配置最轻量。

页面需要 JS 渲染或登录 → Playwright MCP,需要真实浏览器。

需要点击、填表等交互 → Playwright MCP,五个方案里唯一能做的。

批量提取结构化数据 → Scrapling,这是它的主场。

网站有 Cloudflare 防护 → Scrapling StealthyFetcher,专门干这个的。

长期监控网站变化 → Scrapling,自适应解析 + 断点续爬。

大规模全站爬取 → Firecrawl,云端处理,省心。

跨多个社交平台采集 → Agent-Reach,11+ 平台统一入口。

在意数据隐私 → Scrapling 或 Agent-Reach,纯本地。

不想维护工具链 → Firecrawl,SaaS 零维护。

我在用的组合

实际用下来,单选一个是不够的,组合才好用。

日常组合:WebFetch + Playwright MCP

大部分场景用 WebFetch 先试,静态页面直接搞定。遇到 JS 渲染或需要交互的再切 Playwright。这两个覆盖了我 80% 的日常需求。

进阶组合:加上 Scrapling MCP

如果你有批量采集或长期监控的需求,Scrapling 的批量调度和自适应解析是前两个做不到的。三者都本地运行,数据不外传。

全覆盖组合:再加 Agent-Reach

需要同时从 YouTube、B 站、小红书等多平台采集,Agent-Reach 能省不少事。但要有心理准备,依赖链长,维护成本也高。

几个容易忽略的点

WebFetch 不等于浏览器。 很多人第一次用 WebFetch 会困惑「为什么拿不到内容」,原因就是它不执行 JS。现在大部分网站都有 JS 渲染的内容,所以 WebFetch 的适用范围比你想象的窄。

Playwright 不适合批量。 它启动的是完整的 Chromium,一次操作一个页面。拿它做批量爬虫,就像开法拉利送外卖,性能浪费严重。

Firecrawl 的隐私问题不能忽视。 所有数据经过第三方服务器处理。如果你只是抓公开文章,问题不大。但如果涉及商业敏感信息或用户数据,请选本地方案。

Agent-Reach 本质是编排层。 它自己不做抓取,底层全靠第三方工具。升级某个依赖可能引发连锁问题,心里要有数。

最后

这 5 种方案各自擅长不同层次的问题,没有「最好」的方案,只有「最合适」的方案。

如果你刚开始用 Claude Code 做网页抓取,我的建议是:先从 WebFetch 开始,不够用了上 Playwright,有批量需求再上 Scrapling。 按需升级,别过度配置。

附录:

Scrapling: https://github.com/D4Vinci/Scrapling?tab=readme-ov-file,

Agent fetch: https://github.com/Panniantong/Agent-Reach

Playwright: https://github.com/microsoft/playwright