<!-- title: 别再手搓爬虫了：Firecrawl八个暗格 -->
<!-- domain: tips-tricks -->

# 别再手搓爬虫了：Firecrawl八个暗格

你打算给AI喂点网页数据，于是打开编辑器，`requests`加`BeautifulSoup`，手写选择器，跟反爬斗智斗勇，跟JS渲染死磕——这是大多数人的第一反应。但海外做AI应用的人早就换了打法：**网页不是拿来“爬”的，是拿来“喂”的**，而Firecrawl就是那条标准喂食管。

绝大多数人对Firecrawl的认知停在“一个网页转Markdown的工具”。错了。它真正值钱的部分，藏在文档里那些不起眼的参数中：能让AI自己上网的search端点、能过登录墙的actions、能盯竞品改价的changeTracking、能让Claude自己动手抓数据的MCP。这八个暗格，中文圈的教程大多只讲到第一层。今天一次拆完。

## 先花30秒认识它

Firecrawl是Mendable团队（YC孵化）在2024年推出的抓取服务，核心卖点是：你给它一个URL，它还你一份**干净到可以直接塞进大模型的Markdown**——导航栏、广告、cookie弹窗全被清掉。开源仓库在GitHub（firecrawl/firecrawl），AGPL协议，支持自部署；官方也提供托管API，注册就送一次性免费额度（官方写的500 credits，以官网当前页面为准）。

它和传统爬虫工具有本质区别：八爪鱼、后羿采集器是“点选式”，产出给Excel给人看；Firecrawl是API优先，产出给模型吃。定位完全不同。

## 暗格一：/search，搜索引擎和爬虫合体

**操作**：不用再先去Google搜、再挨个点开网页抓了。直接调`/v1/search`端点，传入查询词，返回结果自带抓取好的正文。

**预期效果**：一次调用 = 搜索引擎结果页 + 逐条网页抓取 + 清洗成Markdown。还支持`site:`限定和分类过滤（据官方文档）。

**适用场景**：给Agent装联网能力。你的AI助手要回答“2026年新能源车最新补贴政策”，一个search调用直接拿到十条带正文的原始材料，不用写“搜索→解析→逐条抓取”三段管道。

## 暗格二：actions，登录墙和“加载更多”都能过

**操作**：在scrape请求里加`actions`数组，按顺序排动作：`wait`等待、`click`点击、`write`输入、`press`回车、`scroll`滚动、`screenshot`截图。比如先等页面加载，再点“同意Cookie"，再滚动三次触发懒加载，最后才抓正文。

**预期效果**：那些“不点按钮就没内容”的SPA页面、需要登录的后台（注意：只在你有权限的账号下操作）、无限滚动的信息流，都能拿到完整内容。

**适用场景**：公司内部系统的数据导出、社交平台的时间线（遵守ToS的前提下）、任何“抓下来只有半个页面”的场景。

## 暗格三：changeTracking，给网页装监控摄像头

**操作**：scrape的formats里加上`changeTracking`，配合定时任务（cron）定期抓同一个页面，返回结果里直接给你**这次和上次的差异**，支持类似git diff的风格（据官方v2文档）。

**预期效果**：不用自己存快照、不用自己写diff逻辑，变化自动送上门。

**适用场景**：盯竞品定价页，一改价你就知道；盯政策页面、招股书更新、竞品changelog。这是2025年v2版本加的功能，用的人还很少。

## 暗格四：/extract，告别手写选择器

**操作**：调`/v1/extract`端点，传入一个JSON Schema描述你想要什么（比如`{“公司名”： “string", “融资金额”: "string", “投资方”: "array"}`），或者干脆用一句自然语言prompt描述。加上`isStrict`可以严格校验输出。

**预期效果**：十个网页进去，一份结构化JSON出来。不用看一眼页面源码，不用调试选择器。

**适用场景**：从招聘列表抽职位和薪资、从新闻页抽实体关系、从商品页抽SKU价格。做数据集、做知识库的前置工序，全靠它。

## 暗格五：map + crawl，控制成本的正确姿势

**操作**：抓全站之前，先调`/v1/map`——它秒级返回整个站点的URL树。看清楚结构后，再用`/v1/crawl`带上`includePaths`（只抓哪些路径）和`limit`（最多抓多少页）。

**预期效果**：别人无脑crawl整个文档站烧掉几千credits，你先map一眼发现只需要`/docs/api`这一个栏目，limit设50，成本砍掉九成。

**适用场景**：给内部知识库喂官方文档、把产品手册做成RAG语料。计费按credit走（普通抓取1 credit一页，actions等高级玩法额外扣，具体以官方文档为准），这个习惯每年能帮你省下真金白银。

## 暗格六：location，抓“本地视角”的页面

**操作**：v2加了`location`参数（据官方文档），指定国家/地区后，Firecrawl会从对应区域发起抓取。

**预期效果**：同一个URL，美国用户和日本用户看到的价格、语言、促销可能完全不同。加了location，你拿到的是目标市场的真实视图，而不是你服务器所在地的视图。

**适用场景**：出海电商比价、多区域SEO分析、验证“不同国家看到不同落地页”的A/B策略。

## 暗格七：MCP，让Claude/Cursor自己动手抓

**操作**：官方有MCP server（npm包`firecrawl-mcp`），在Claude Desktop或Cursor的配置里加一段：

```json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": { "FIRECRAWL_API_KEY": "fc-你的key" }
    }
  }
}
```

**预期效果**：你在对话里说“把这个开源项目的文档站全抓下来，整理成一份入门指南”，模型自己调map、crawl、extract，全程不用你碰代码。

**适用场景**：Claude Code用户、Cursor用户。这是把Firecrawl从“你写代码调它”升级成“AI直接使唤它”的关键一步，也是中文教程最缺的一环。

## 暗格八：免费三档，零预算也能跑

**操作**：三条路按顺序试——
1. **自部署**：仓库`self-host`目录，docker compose起全套（需要自备Redis和Playwright服务）。AGPL协议，个人和内部使用免费，商用注意开源义务。
2. **开源平替**：Crawl4AI（GitHub开源，本地跑，专为AI设计）和Jina Reader（URL前加`r.jina.ai`即可用，有免费档）。
3. **托管API免费额度**：注册送的500 credits足够你把前七个暗格全部试一遍（额度数字以官网为准）。

**预期效果**：个人项目、验证想法阶段，成本可以是零。

## 该用哪个暗格？一张图定路线

```mermaid
flowchart TD
    A["拿到一个抓取需求"] --> B{"要多少页面?"}
    B -->|"就一页"| C["scrape 单页"]
    B -->|"整个站点"| D["map 先建站地图"]
    B -->|"不知道哪有"| E["search 搜索带抓取"]
    D --> F["crawl 批量抓<br/>includePaths 加 limit"]
    E --> G["site 限定范围"]
    C --> H{"要结构化数据?"}
    F --> H
    G --> H
    H -->|"要"| I["extract 加 schema"]
    H -->|"不要"| J["直接拿 markdown 喂模型"]
    I --> K["入库 进RAG 喂Agent"]
    J --> K
```

## 国内怎么用？和同类工具摆一起看

| 工具 | 上手方式 | 产出物 | 适合谁 |
|---|---|---|---|
| 八爪鱼/后羿 | 网页上点点点 | Excel/表格 | 非技术同学 |
| 火车头采集器 | 写采集规则 | 入库数据 | 老牌站长 |
| 手写Playwright | 全部自己写 | 随心所欲 | 时间多的人 |
| **Firecrawl** | **一个API调用** | **LLM-ready数据** | **做AI应用的你** |

国内工具的产出终点是“给人看的表”，Firecrawl的产出终点是“给模型吃的料”。如果你的下游是RAG、Agent、数据分析大模型，前者等于还要多做一步转换。

## 信息差总结

| 你以为 | 实际上 |
|---|---|
| Firecrawl只是网页转Markdown | search/actions/extract/monitor全家桶 |
| 抓数据要先写选择器 | 传个JSON Schema直接出结构化结果 |
| 要登录的页面抓不了 | actions模拟点击输入，能过交互墙 |
| 抓取服务都得花钱 | 自部署免费，还有Crawl4AI/Jina白嫖 |
| 只能人写代码调它 | MCP接上，Claude自己动手抓 |

## 行动指南

1. 打开`github.com/firecrawl/firecrawl`，花5分钟读README，点star收藏；
2. 去`firecrawl.dev`注册拿key，装Python SDK跑通第一行代码：`FirecrawlApp(api_key=...).scrape_url(url, params={"formats": ["markdown"]})`（SDK写法以官方最新文档为准）；
3. 把MCP配置加进你的Claude Code或Cursor，说一句话让它抓个网站试试；
4. 挑一个你真正需要的监控目标（竞品价格页/政策页），用changeTracking加cron跑起来；
5. 免费额度用完了再考虑付费或自部署——先map再crawl的习惯从第一天养成。

一句话收尾：**AI时代的数据工序，瓶颈从来不是“抓不抓得到”，而是“喂得干不干净”。**把选择器扔了，你的时间应该花在数据上面那一层。

## 参考来源

1. Firecrawl官方仓库：https://github.com/firecrawl/firecrawl （功能清单、自部署方案以仓库README为准）
2. Firecrawl官方文档：https://docs.firecrawl.dev （各端点参数细节，本文涉及的参数名请以此处最新版为准）
3. Firecrawl MCP Server：https://github.com/firecrawl/firecrawl-mcp-server （MCP配置方法）
4. Jina Reader：https://jina.ai/reader （免费抓取平替）
5. Crawl4AI开源项目：https://github.com/unclecode/crawl4ai （本地免费方案）

> 注：本文写作时无法实时联网复核，价格、credit规则、参数命名等时效性信息请以官方文档当前版本为准。

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
