点击上方卡片关注我
设置星标 学习更多项目
当你想让AI理解某个网站的内容,却被复杂的网页结构、动态加载和反爬机制困住时, firecrawl 就是你的救星。 firecrawl由MendableAI团队开发,核心定位是“为AI应用提供干净的网页数据”。
这是一个开源的网页数据提取工具,通过简单的API调用,就能将任意网站“啃”成AI可理解的Markdown或结构化数据,无需手动解析HTML,更不用头疼站点地图!
核心功能 1. 网页抓取(Scrape):精准提取单页内容 只需一个URL,就能获取页面的Markdown、HTML、截图或结构化数据,甚至支持PDF、DOCX等媒体文件解析。
# 示例:抓取Firecrawl文档页 curl -X POST https://api.firecrawl.dev/v1/scrape \ -H 'Authorization: Bearer YOUR_API_KEY' \ -d '{"url": "https://docs.firecrawl.dev", "formats": ["markdown", "html"]}' 2. 全网爬取(Crawl):深度探索网站所有页面 无需站点地图,自动发现并爬取网站所有可访问的子页面,返回LLM友好的数据格式。
# 示例:爬取Firecrawl文档站,最多10页 curl -X POST https://api.firecrawl.dev/v1/crawl \ -d '{"url": "https://docs.firecrawl.dev", "limit": 10, "scrapeOptions": {"formats": ["markdown"]}}' 3. 网站地图(Map):快速绘制网站链接图谱 输入一个URL,瞬间获取该网站的所有链接,支持关键词搜索过滤,找特定页面快如闪电。
# 示例:获取Firecrawl官网中含“docs”的链接 curl -X POST https://api.firecrawl.dev/v1/map \ -d '{"url": "https://firecrawl.dev", "search": "docs"}' 4. 网页搜索(Search):边搜边抓的智能引擎 直接搜索网页内容,并可选抓取搜索结果页面,一步到位获取所需数据。
# 示例:搜索“什么是Firecrawl”并抓取结果 curl -X POST https://api.firecrawl.dev/v1/search \ -d '{"query": "what is firecrawl?", "limit": 5, "scrapeOptions": {"formats": ["markdown"]}}' 5. 结构化提取(Extract):AI驱动的数据整理大师 通过Prompt或Schema,让AI从网页中提取指定结构的数据,比如公司使命、开源属性等。
# 示例:从多个网站提取公司信息 curl -X POST https://api.firecrawl.dev/v1/extract \ -d '{"urls": ["https://firecrawl.dev/*"], "prompt": "Extract company mission and open source status"}' 技术亮点 对抗反爬: 自动绕过机器人检测,内置代理轮换、请求头伪装、动态延迟等机制,轻松突破Cloudflare等反爬屏障,甚至支持登录态爬取(自定义请求头)。
动态内容处理: JS渲染页面也能抓,基于Playwright内核,完整渲染JavaScript生成的内容,单页应用(SPA)和动态加载的内容都能完美捕获。
LLM原生支持: 数据直接喂给大模型,输出格式天然适配Langchain、Llama Index等LLM框架,无需二次处理即可用于构建“聊天机器人”“文档问答”等应用。
批量处理与异步接口: 高效处理海量数据,支持一次性提交数千个URL批量爬取,通过异步接口获取任务状态,大幅提升数据采集效率。
快速上手
爬取网站并提取结构化数据(Python SDK) # 安装:pip install firecrawl-py from firecrawl.firecrawl import FirecrawlApp from pydantic import BaseModel, Field from typing import List # 定义数据模型 class ArticleSchema (BaseModel) : title: str points: int commentsURL: str class TopArticlesSchema (BaseModel) : top: List[ArticleSchema] = Field(..., description= "Top 5 stories" ) # 初始化SDK app = FirecrawlApp(api_key= "fc-YOUR_API_KEY" ) # 爬取Hacker News并提取Top 5文章 result = app.scrape_url( "https://news.ycombinator.com" , formats=[ "json" ], json_config=TopArticlesSchema.model_json_schema() ) print(result.json) # 直接获取结构化数据 使用Zod定义提取规则(Node.js SDK) // 安装:npm install @mendable/firecrawl-js import FirecrawlApp from "@mendable/firecrawl-js" ; import { z } from "zod" ;
const app = new FirecrawlApp({ apiKey : "fc-YOUR_API_KEY" }); // 用Zod定义提取规则 const schema = z.object({ top : z.array( z.object({ title : z.string(), points : z.number(), commentsURL : z.string(), }) ).length( 5 ).describe( "Top 5 stories" ), }); // 爬取并提取数据 const result = await app.scrapeUrl( "https://news.ycombinator.com" , { jsonOptions : { extractionSchema : schema }, }); console .log(result.data.json); 云服务版 直达链接:https://www.firecrawl.dev/
开源与云服务 Firecrawl采用 AGPL-3.0开源协议
,核心功能完全免费,但云服务版本(firecrawl.dev)提供了更强大的企业级能力:
功能对比 开源版(本地部署) 云服务版(Firecrawl Cloud)
总结 Firecrawl,堪称 AI 的数据 “翻译官”!它能一键将任意网站生成 Markdown / 结构化数据,轻松突破反爬屏障、渲染动态页面,连 PDF 等媒体文件都能解析。支持从单页抓取到全网爬取,搭配 AI 驱动的结构化提取,用 Prompt 就能精准捞数据。Python/Node 等多语言 SDK 让集成零门槛,还能对接 Langchain 等 LLM 框架。采用 AGPL-3.0 开源,云服务版更有批量处理、动态动作等企业级能力,适用于 AI 开发、数据研究等场景。