本页内容
Claude Code 可以编辑文件、执行 shell 命令并编写测试,但它自身无法抓取实时网页。把它接入 CrawlForge MCP,便能获得 20 个直接从终端运行的 scraping 工具。
npm install -g crawlforge-mcp-server
npx crawlforge-setup # paste your API key
# Now in Claude Code:
# > Fetch https://news.ycombinator.com and list the top 5 stories本指南向你展示如何用 CrawlForge MCP 通过 Claude Code 抓取网站,从安装到 stealth 模式绕过。下面每个代码块都是可执行的。
目录
- 问题所在:Claude Code 无法抓取 URL
- 前置条件
- 步骤 1:安装 CrawlForge MCP
- 步骤 2:获取你的 API key
- 步骤 3:在 Claude Code 中注册 MCP server
- 步骤 4:验证连接
- 步骤 5:你的第一次抓取
- 完整可用示例:抓取一个定价页面
- 进阶:抓取 JavaScript 渲染的网站
- 故障排查
- 常见问题
问题所在:Claude Code 无法抓取 URL
默认情况下,Claude Code 没有网络访问权限。让它"读一下这篇博客文章",它会告诉你无法打开 URL。Claude Desktop 中内置的 WebFetch 助手确实存在,但它有限制、有速率上限,并且经常被 Cloudflare、Akamai 等边缘防护拦截。
CrawlForge MCP 通过把 20 个 scraping 工具——fetch_url、extract_content、scrape_structured、stealth_mode、deep_research 等等——暴露为 Model Context Protocol 工具来解决这个问题,Claude Code 可以像调用任何其他函数一样调用它们。关于协议本身的更多背景,请参阅我们的 完整 MCP web scraping 指南。
前置条件
- Node.js 18+ —— 用
node --version检查 - Claude Code —— 用
npm install -g @anthropic-ai/claude-code安装 - 一个 CrawlForge 账户 —— 在 crawlforge.dev/signup 免费注册(含 1,000 credits,无需信用卡)
步骤 1:安装 CrawlForge MCP
npm install -g crawlforge-mcp-server验证安装:
crawlforge-mcp-server --version
# crawlforge-mcp-server 4.8.1步骤 2:获取你的 API key
- 前往 crawlforge.dev/signup 并创建账户。
- 打开 crawlforge.dev/dashboard/api-keys 的控制台。
- 复制 key:它以
cf_live_开头。
步骤 3:在 Claude Code 中注册 MCP server
最快的方式是配置向导:
npx crawlforge-setup它会把正确的条目写入 ~/.config/claude-code/mcp.json(Linux/macOS)或 %APPDATA%\claude-code\mcp.json(Windows)。
如果你更喜欢手动配置,把下面这段加入你的 Claude Code MCP 配置:
{
"mcpServers": {
"crawlforge": {
"command": "crawlforge-mcp-server",
"env": {
"CRAWLFORGE_API_KEY": "cf_live_your_key_here"
}
}
}
}重启 Claude Code,让它检测到新服务器。
步骤 4:验证连接
打开 Claude Code 并运行:
/mcp
你应当看到 crawlforge 列在其中,显示为已连接、提供 26 个可用工具。如果没有,请前往 故障排查。
步骤 5:你的第一次抓取
把这个提示粘贴到 Claude Code 中:
Fetch https://news.ycombinator.com using CrawlForge and give me the top 5 story titles with their URLs as a JSON array.
Claude Code 会调用 fetch_url(1 credit),解析 HTML 并返回类似这样的内容:
[
{ "title": "Show HN: My side project", "url": "https://example.com/post/1" },
{ "title": "Why X is changing Y", "url": "https://example.com/post/2" }
]就是这样。你已经开始抓取了。
完整可用示例:抓取一个定价页面
这里有一个真实的任务:提取一个 SaaS 网站的定价层级。粘贴这个提示:
Use scrape_structured to extract pricing from https://crawlforge.dev/pricing.
Return an array of { plan, price, credits, features[] }.
在底层,Claude Code 会构建一个像这样的请求:
// What Claude Code sends to CrawlForge via MCP
const response = await fetch('https://crawlforge.dev/api/v1/tools/scrape_structured', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.CRAWLFORGE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://crawlforge.dev/pricing',
selectors: {
plan: '.pricing-card h3',
price: '.pricing-card .price',
credits: '.pricing-card .credits',
features: '.pricing-card ul li',
},
}),
});
const data = await response.json();
console.log(data.plan); // ['Free', 'Hobby', 'Professional', 'Business']成本:2 credits。把它和本地运行一个无头浏览器相比:零基础设施、无需调试 Puppeteer、没有 Cloudflare 的轮盘赌。
进阶:抓取 JavaScript 渲染的网站
有些网站通过客户端 React 渲染定价或产品数据。fetch_url 返回的是水合前的 HTML 骨架,会错过这些数据。改用 scrape_with_actions(5 credits):
// Prompt Claude Code with this, and it generates the call
const payload = {
url: 'https://app.example.com/dashboard',
actions: [
{ type: 'wait', selector: '.data-grid', timeout: 5000 },
{ type: 'click', selector: 'button.load-more' },
{ type: 'wait', timeout: 1500 },
],
formats: ['json', 'markdown'],
};
const result = await fetch('https://crawlforge.dev/api/v1/tools/scrape_with_actions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.CRAWLFORGE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
}).then(r => r.json());对于受 Cloudflare 和 Akamai 保护的网站,使用 stealth_mode(同样 5 credits)。我们在 stealth 模式深度解析 中介绍了指纹轮换的取舍。
工具速查参考
| 工具 | Credits | 何时使用 |
|---|---|---|
fetch_url | 1 | 静态 HTML,自行解析 |
extract_text | 1 | 文章页面的干净、可读文本 |
extract_content | 2 | 类可读性的主内容提取 |
scrape_structured | 2 | CSS 选择器映射到带类型字段 |
search_web | 5 | 你还不知道 URL |
scrape_with_actions | 5 | SPA 需要点击、等待、滚动 |
stealth_mode | 5 | 反爬虫系统(Cloudflare、DataDome) |
deep_research | 10 | 带引用的多来源研究 |
完整列表见我们的 26 个工具总览。
故障排查
"MCP server failed to start" —— 确认 crawlforge-mcp-server 在你的 PATH 中。运行 which crawlforge-mcp-server。如果为空,重新全局安装:npm install -g crawlforge-mcp-server。
"Unauthorized" 或 401 错误 —— 你的 API key 缺失或格式不对。它必须以 cf_live_ 开头。在你的 shell 中重新导出:export CRAWLFORGE_API_KEY="cf_live_..." 然后重启 Claude Code。
"Insufficient credits" —— 在 crawlforge.dev/dashboard/usage 查看用量。Free 层 = 1,000 credits/月。升级到 Hobby($19/月)可获得 25,000。
/mcp 中工具列表为空 —— MCP 配置没有被读取。在 macOS 上文件位于 ~/Library/Application Support/claude-code/mcp.json。Linux:~/.config/claude-code/mcp.json。Windows:%APPDATA%\claude-code\mcp.json。
每次 fetch 都遇到 Cloudflare 403 —— 把 fetch_url 换成 stealth_mode。如果仍被拦截,目标站点使用了服务端 JA3/JA4 指纹识别;请带上该 URL 在 GitHub 上提一个 issue。
常见问题
快速答案请查看下方的常见问题部分。
后续步骤
- 阅读 CrawlForge 快速上手 获取五个可复制粘贴的示例
- 探索 快速上手文档 获取完整的 API 参考
- 在 Claude Desktop vs Claude Code 中对比 MCP 客户端
- 在 Firecrawl 替代方案 中评估其他选择
在 crawlforge.dev/signup 用 1,000 credits 免费开始。无需信用卡。
亲自试一试——无需注册
在 Playground 中运行 CrawlForge 的 27 个抓取与提取工具中的任意一个,然后免费开始,获取 1,000 credits。
1,000 免费 credits • 每月补充 • 无需信用卡
标签
及时获取最新洞察
将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。
拒绝垃圾邮件,随时可取消订阅。