在构建 AI 应用时,如何让大模型读懂整个网站的内容?Firecrawl 是一个专门为此设计的 Web 数据 API——它能把任意网站转换成 LLM-ready 的 Markdown 或结构化数据。

项目概览

属性内容
GitHubfirecrawl/firecrawl
Stars97,157
语言TypeScript
许可证AGPL-3.0
官网firecrawl.dev
特点整站抓取、自动解析、LLM 优化输出

核心能力

1. 整站抓取(Scrape → Crawl)

Firecrawl 不只是抓取单个页面,它可以递归抓取整个网站:

# 抓取单个页面
curl -X POST https://api.firecrawl.dev/v1/scrape \
  -H "Authorization: Bearer YOUR_KEY" \
  -d '{"url": "https://docs.example.com"}'

# 整站抓取
curl -X POST https://api.firecrawl.dev/v1/crawl \
  -H "Authorization: Bearer YOUR_KEY" \
  -d '{
    "url": "https://docs.example.com",
    "limit": 100,
    "scrapeOptions": {"formats": ["markdown", "html"]}
  }'

返回的是干净的 Markdown,自动去除了导航、广告、页脚等噪音。

2. 自动解析为结构化数据

不只是抓取文本,还能提取结构化信息:

import FirecrawlApp from '@mendable/firecrawl-js';

const app = new FirecrawlApp({ apiKey: 'your_key' });

// 抓取并提取特定字段
const result = await app.scrapeUrl('https://example.com/product', {
  formats: ['extract'],
  extract: {
    schema: {
      type: 'object',
      properties: {
        title: { type: 'string' },
        price: { type: 'string' },
        description: { type: 'string' }
      }
    }
  }
});

3. 专为 LLM 优化

Firecrawl 的输出设计考虑了 LLM 的上下文限制:

  • Markdown 优先:比 HTML 更节省 token
  • 智能分块:自动将长内容切分为语义块
  • 元数据保留:保留标题、链接、图片等结构信息

4. 动态内容处理

很多现代网站是 JavaScript 渲染的,Firecrawl 内置了浏览器渲染能力:

{
  "url": "https://spa-app.example.com",
  "waitFor": 2000,
  "actions": [
    {"type": "click", "selector": "#load-more"},
    {"type": "wait", "milliseconds": 1000}
  ]
}

快速上手

# 安装 SDK
npm install @mendable/firecrawl-js
import FirecrawlApp from '@mendable/firecrawl-js';

const app = new FirecrawlApp({ apiKey: 'your_api_key' });

// 简单抓取
const scrapeResult = await app.scrapeUrl('https://example.com', {
  formats: ['markdown', 'html']
});

console.log(scrapeResult.markdown);

// 整站抓取(异步)
const crawlResult = await app.crawlUrl('https://example.com', {
  limit: 50,
  scrapeOptions: { formats: ['markdown'] }
});

// 等待完成并获取结果
console.log(crawlResult.data);

定价模式

方案额度价格
Free500 credits/月免费
Hobby5,000 credits/月$19/月
Standard50,000 credits/月$99/月
Growth200,000 credits/月$299/月

Credits 消耗

  • 标准页面抓取:1 credit
  • 动态渲染页面:5-25 credits
  • 整站抓取:按实际抓取页面数计算

同类对比

工具特点定价
FirecrawlAPI 优先、LLM 优化、托管服务按 credits 计费
ScrapyPython 框架、自托管、高灵活免费开源
Puppeteer浏览器自动化、需自建基础设施免费(服务器成本另算)
Playwright多浏览器支持、微软维护免费(服务器成本另算)

相比自建爬虫,Firecrawl 的优势是即开即用,不用处理:

  • 浏览器环境维护
  • 反爬虫对抗
  • 大规模并发管理
  • 数据清洗和格式化

适用场景

推荐使用

  • AI 知识库构建(RAG)
  • 竞品监控和数据采集
  • SEO 分析和内容审计
  • 文档迁移(HTML → Markdown)
  • 训练数据准备

不推荐

  • 高频实时抓取(成本较高)
  • 需要深度定制的抓取逻辑
  • 对数据隐私要求极高的场景(数据经过第三方)

注意事项

  1. Rate Limiting:免费版有严格的频率限制,生产环境建议升级
  2. Robots.txt:Firecrawl 尊重 robots.txt,被禁止的网站无法抓取
  3. AGPL 协议:自托管版本需遵守 AGPL 开源协议
  4. 数据隐私:使用托管 API 时,网页内容会经过 Firecrawl 服务器

自托管选项

对于数据敏感的场景,可以自托管 Firecrawl:

git clone https://github.com/firecrawl/firecrawl.git
cd firecrawl
docker-compose up

自托管需要处理 Redis、Playwright、API 服务等多个组件,运维成本较高。

总结

Firecrawl 是目前最成熟的”网站转 LLM 数据”解决方案之一。97k stars 的背后是稳定的 API 和活跃的开发社区。如果你正在构建需要读取外部网站内容的 AI 应用,Firecrawl 值得优先考虑。

官网:firecrawl.dev | GitHub:firecrawl/firecrawl


属性内容
仓库https://github.com/firecrawl/firecrawl
许可证AGPL-3.0
维护者Firecrawl 团队