mendableai/firecrawlView GitHub Homepage for Latest Official Releases
將整個網站轉換為 LLM 就緒的 Markdown 或結構化資料,透過單個 API 進行抓取、爬取和提取
AGPL-3.0TypeScriptfirecrawlmendableai 45.5k Last Updated: August 07, 2025
Firecrawl 項目詳細介紹
項目概述
Firecrawl 是一個 API 服務,接收 URL,爬取它,並將其轉換為乾淨的 markdown 或結構化數據。它爬取所有可訪問的子頁面,為每個頁面提供乾淨的數據。無需站點地圖。
核心功能
1. 網頁抓取 (Scraping)
- 抓取單個 URL 並獲取 LLM 就緒格式的內容
- 支持多種輸出格式:markdown、結構化數據、截圖、HTML
- 通過 LLM 提取獲得結構化數據
2. 網站爬取 (Crawling)
- 爬取網頁的所有 URL 並返回 LLM 就緒格式的內容
- 無需站點地圖即可發現所有可訪問的子頁面
- 支持自定義爬取深度和排除規則
3. 網站映射 (Map)
- 輸入網站獲取所有網站 URL - 極快的速度
- 支持搜索特定 URL 模式
4. 網絡搜索 (Search)
- 搜索網絡並從結果中獲取完整內容
- 可自定義搜索參數(語言、國家等)
- 可選擇從搜索結果中檢索各種格式的內容
5. 數據提取 (Extract)
- 使用 AI 從單頁面、多頁面或整個網站獲取結構化數據
- 支持通過提示詞和 JSON 模式定義提取規則
- 支持通配符 URL 模式
6. 批量處理 (Batching)
- 同時抓取數千個 URL 的新異步端點
- 提交批量抓取作業並返回作業 ID 檢查狀態
技術特性
LLM 就緒格式
- Markdown: 乾淨的文檔格式
- 結構化數據: JSON 格式的提取數據
- 截圖: 頁面視覺捕獲
- HTML: 原始 HTML 內容
- 鏈接和元數據: 頁面信息提取
處理複雜情況
- 代理和反機器人機制: 繞過訪問限制
- 動態內容: 處理 JavaScript 渲染的內容
- 輸出解析: 智能內容解析
- 編排: 複雜流程管理
自定義能力
- 排除標籤: 過濾不需要的內容
- 認證爬取: 使用自定義標頭爬取需要認證的內容
- 最大爬取深度: 控制爬取範圍
- 媒體解析: 支持 PDF、DOCX、圖像
交互功能 (Actions)
在抓取內容之前可以執行各種操作:
- 點擊: 點擊頁面元素
- 滾動: 頁面滾動操作
- 輸入: 文本輸入
- 等待: 等待頁面加載
- 按鍵: 鍵盤操作
API 使用示例
爬取網站
curl -X POST https://api.firecrawl.dev/v1/crawl \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-d '{
"url": "https://docs.firecrawl.dev",
"limit": 10,
"scrapeOptions": {
"formats": ["markdown", "html"]
}
}'
抓取單頁面
curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"url": "https://docs.firecrawl.dev",
"formats" : ["markdown", "html"]
}'
結構化數據提取
curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"url": "https://www.mendable.ai/",
"formats": ["json"],
"jsonOptions": {
"schema": {
"type": "object",
"properties": {
"company_mission": {"type": "string"},
"supports_sso": {"type": "boolean"},
"is_open_source": {"type": "boolean"},
"is_in_yc": {"type": "boolean"}
},
"required": ["company_mission", "supports_sso", "is_open_source", "is_in_yc"]
}
}
}'
SDK 支持
Python SDK
pip install firecrawl-py
from firecrawl.firecrawl import FirecrawlApp
from firecrawl.firecrawl import ScrapeOptions
app = FirecrawlApp(api_key="fc-YOUR_API_KEY")
# 抓取網站
scrape_status = app.scrape_url(
'https://firecrawl.dev',
formats=["markdown", "html"]
)
print(scrape_status)
# 爬取網站
crawl_status = app.crawl_url(
'https://firecrawl.dev',
limit=100,
scrape_options=ScrapeOptions(formats=["markdown", "html"]),
poll_interval=30
)
print(crawl_status)
Node.js SDK
npm install @mendable/firecrawl-js
import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';
const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});
// 抓取網站
const scrapeResponse = await app.scrapeUrl('https://firecrawl.dev', {
formats: ['markdown', 'html'],
});
if (scrapeResponse) {
console.log(scrapeResponse)
}
// 爬取網站
const crawlResponse = await app.crawlUrl('https://firecrawl.dev', {
limit: 100,
scrapeOptions: {
formats: ['markdown', 'html'],
}
} satisfies CrawlParams, true, 30) satisfies CrawlStatusResponse;
集成支持
LLM 框架集成
- Langchain: Python 和 JavaScript 版本
- Llama Index: 數據連接器
- Crew.ai: AI 代理框架
- Composio: 工具集成
- PraisonAI: AI 編排
- Superinterface: 助手功能
- Vectorize: 向量化集成
低代碼框架
- Dify: AI 應用構建平台
- Langflow: 可視化 AI 流程
- Flowise AI: 無代碼 AI 構建
- Cargo: 數據集成
- Pipedream: 工作流自動化
其他集成
- Zapier: 自動化工作流
- Pabbly Connect: 應用集成
許可證和部署
開源許可
- 主要採用 GNU Affero General Public License v3.0 (AGPL-3.0)
- SDK 和部分 UI 組件採用 MIT 許可證
託管服務
- 提供託管版本在 firecrawl.dev
- 雲解決方案提供額外功能和企業級支持
自託管
- 支持本地部署
- 當前仍在開發中,集成自定義模塊到單體倉庫
- 可以本地運行,但尚未完全準備好用於自託管部署
應用場景
- AI 數據準備: 為 LLM 提供乾淨的訓練數據
- 內容聚合: 從多個網站收集和整理內容
- 競爭分析: 監控競爭對手網站變化
- SEO 研究: 分析網站結構和內容
- 數據挖掘: 從網站提取結構化信息
- 文檔生成: 將網站內容轉換為文檔格式
使用注意事項
用戶在使用 Firecrawl 進行抓取、搜索和爬取時,有責任遵守網站的政策。建議用戶在啟動任何抓取活動之前,遵守適用網站的隱私政策和使用條款。默認情況下,Firecrawl 在爬取時會遵守網站 robots.txt 文件中指定的指令。
項目狀態
該項目目前處於活躍開發狀態,團隊正在將自定義模塊集成到單體倉庫中。雖然尚未完全準備好進行自託管部署,但可以本地運行進行開發和測試。項目擁有活躍的社區和持續的更新,是網頁數據提取領域的領先解決方案。