Firecrawl 安装使用教程

将任何网站变成 AI 可用的数据,84K+ Star 开源爬虫神器

🔥 开源免费 · AI 时代的数据引擎

🚀 项目介绍

Firecrawl 是一个强大的开源 API 服务,专门为 AI 应用提供网页数据采集能力。它能将任何网站转换为干净的 Markdown、结构化 JSON、截图等格式,让大语言模型(LLM)直接消费。

核心优势:LLM-ready 输出、行业领先的可靠性(>80% 覆盖率)、自动处理代理/JS渲染/动态内容、支持自托管!

项目信息详情
GitHub 地址github.com/mendableai/firecrawl
Star 数量84,000+
开源协议AGPL-3.0(自托管免费)
官网firecrawl.dev
支持语言Python / Node.js / Go / Rust / Ruby 等多语言 SDK

核心功能

🔍

Scrape 单页抓取

任意 URL 转 Markdown / HTML / JSON / 截图

🕷️

Crawl 全站爬取

一个请求爬取整个网站所有页面

🔎

Search 智能搜索

搜索互联网并获取完整页面内容

🤖

Agent 智能代理

描述需求,AI 自动搜索、导航、提取

🗺️

Map 站点地图

瞬间发现网站所有 URL

📦

Batch 批量抓取

异步批量抓取数千个 URL

💡

Firecrawl 自动处理代理轮换、浏览器渲染、反爬绕过等难题,开发者只需关注数据本身!

📋 环境要求

方式一:使用云端 API(推荐)

要求说明
注册账号firecrawl.dev 注册获取 API Key
Python3.8+ (使用 Python SDK 时)
Node.js18+ (使用 Node.js SDK 时)

方式二:自托管部署

要求说明
DockerDocker 和 Docker Compose
内存建议 4GB 以上
磁盘建议 10GB 以上

⚙️ 安装使用(API 方式)

获取 API Key

1

注册账号

访问 firecrawl.dev,点击 Sign Up 注册账号。

2

获取 API Key

登录后在 Dashboard 中复制你的 API Key(格式:fc-xxxxxxxx)。

Python SDK

bash
pip install firecrawl-py
python
from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

# 抓取单个页面
doc = app.scrape("https://example.com", formats=["markdown"])
print(doc.markdown)

# 使用 Agent 智能提取
result = app.agent(prompt="找出 Notion 的定价方案")
print(result.data)

Node.js SDK

bash
npm install @mendable/firecrawl-js
javascript
import Firecrawl from '@mendable/firecrawl-js';

const app = new Firecrawl({ apiKey: 'fc-YOUR_API_KEY' });

// 抓取单个页面
const doc = await app.scrape('https://example.com', { formats: ['markdown'] });
console.log(doc.markdown);

cURL 直接调用

bash
curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com"}'

🐳 自托管部署

1

克隆仓库

bash
git clone https://github.com/mendableai/firecrawl.git
cd firecrawl
2

配置环境变量

bash
cp .env.example .env
# 编辑 .env 文件,配置必要的环境变量
3

启动服务

bash
docker compose up -d

服务启动后,API 默认运行在 http://localhost:3002

⚠️

注意:自托管版本目前仍在开发中,部分高级功能可能不可用。生产环境建议使用云端 API。

💻 实战示例

1. 提取结构化数据(JSON 模式)

python
from firecrawl import Firecrawl
from pydantic import BaseModel

app = Firecrawl(api_key="fc-YOUR_API_KEY")

class CompanyInfo(BaseModel):
    company_mission: str
    is_open_source: bool

result = app.scrape(
    'https://firecrawl.dev',
    formats=[{"type": "json", "schema": CompanyInfo.model_json_schema()}]
)
print(result.json)

2. 全站爬取

python
# 爬取整个文档站点
docs = app.crawl("https://docs.firecrawl.dev", limit=50)
for doc in docs.data:
    print(doc.metadata.source_url, doc.markdown[:100])

3. Agent 智能提取

python
# 只需描述你要什么,Agent 自动帮你找
result = app.agent(
    prompt="对比 Firecrawl、Apify 和 ScrapingBee 的企业版功能",
    model="spark-1-pro"
)
print(result.data)

4. 搜索 + 抓取

python
# 搜索互联网并获取完整页面内容
results = app.search(
    "最好的 AI 编程工具 2026",
    limit=5,
    scrape_options={"formats": ["markdown"]}
)

常见问题

Q1: Firecrawl 免费吗?

Firecrawl 提供免费额度(每月 500 次抓取),超出后需要付费。自托管部署完全免费,但需要自己准备服务器。

Q2: 和 BeautifulSoup/Scrapy 有什么区别?

传统爬虫需要手写解析规则、处理反爬、管理代理池。Firecrawl 一个 API 搞定所有这些,输出直接是 LLM 可用的格式。

Q3: 支持 JavaScript 动态渲染的页面吗?

支持!Firecrawl 内置 Headless 浏览器,能完美处理 SPA(单页应用)、动态加载内容。还支持 Actions(点击、滚动、输入等操作)。

Q4: 可以用于商业项目吗?

云端 API 可直接用于商业项目。自托管版本使用 AGPL-3.0 协议,商业使用需注意开源义务。

Q5: 抓取速度怎么样?

单页抓取通常 2-5 秒完成。批量抓取支持异步并发,可同时处理数千个 URL。Agent 模式根据任务复杂度,通常 10-30 秒返回结果。

Q6: 有 MCP 支持吗?

有!Firecrawl 官方提供了 MCP Server,可以让 Claude、Cursor 等 AI 工具直接调用 Firecrawl 能力。安装方式:npx skills add firecrawl/cli

💬 加入交流群

和志同道合的朋友一起交流学习

抖音交流群二维码

抖音扫码加入