- 网页爬虫
- 后端
- AI 应用
【免费下载链接】firecrawl
The web data API to search, scrape, and interact at scale. 🔥
本文导读:Firecrawl 是用于搜索、抓取并规模化交互网页数据的 API 服务。本文围绕其官方博客发布的 Templates(模板库)功能展开,系统讲解三类模板形态(Playground 模板、代码片段、完整仓库)的使用入口与适用场景,并结合当前仓库
examples/目录下的真实示例与 Python SDK 源码,拆解每个模板背后的核心 API 调用链,帮助你理解"模板复用的关键参数从哪里来、底层又是如何工作",从而能直接借鉴或二次开发属于自己的模板。
Templates 是什么:把"摸爬滚打"变成"拿来即用"
在 Templates 发布公告 中,Firecrawl 团队明确指出了社区长期存在的痛点:开发者用 Firecrawl 构建了从简单数据提取脚本,到复杂的线索生成系统、AI 研究工具等各式各样的应用,但**"为特定用例找到正确的配置"始终是入门门槛**——抓哪个端点、传哪些参数、用什么输出格式,都需要反复试验。
Templates 的定位正是解决这个问题的"复用层":
- 它是一套开箱即用的 Playground 配置、代码片段与完整仓库的集合;
- 开发者无需再自己摸索"完美参数",选中一个模板即可落地;
- 模板库本身是社区化的:任何人都能保存、分享、投票,形成一个持续增长的公共资产。
需要强调的是,当前开源仓库中并不存在一个独立的 "templates" 目录,Templates 作为云平台功能面向所有 Firecrawl 用户开放(公告提及的入口为 Playground 的 Templates 下拉菜单与模板库页面)。不过,仓库 examples/ 目录下沉淀了大量与官方模板同源的示例代码——官方博客中提到的 Hubspot CRM Lead Enrichment、O4 Mini Web Crawler 等模板,都可以在仓库中找到对应的完整实现,这些代码正是理解模板内部机理的第一手材料。
三种模板类型:从零配置到一键运行
公告将模板划分为三种形态,覆盖了"试玩 → 集成 → 上线"的不同阶段:
| 类型 | 形态 | 上手方式 | 典型例子 |
|---|---|---|---|
| Playground 模板 | 预配置的 Playground 环境 | 在 Playground 的 Templates 下拉菜单中直接加载 | 整站爬取、JS 重页面抓取 |
| 代码片段 | 可嵌入自己应用的复用代码段 | 复制到项目中使用 | Hubspot CRM 线索富化、O4 Mini Web Crawler |
| 完整仓库 | 基于 Firecrawl 的完整应用 | 一键 "Run with Replit" 运行 | Open Deep Research、Trend Finder |
Playground 模板:零代码先验证效果
Playground 模板是预先配置好抓取参数的可视化工作区,涵盖整站爬取(对应 Crawl 能力)和 JS 重页面抓取(对应无头浏览器渲染能力)等场景。它的价值在于:在写任何一行代码之前,先用可视化的方式确认目标站点能否被正确抓取、输出格式是否符合预期,再决定后续集成方案。这是快速验证与对客户演示的利器。
代码片段:最小可用、即插即用
代码片段是可复用的函数级代码。官方博客点名了两类代表,它们在仓库中均有完整实现:
- Hubspot CRM Lead Enrichment(线索富化):从 HubSpot 拉取公司列表 → 用 Firecrawl 抓取官网 → 交给 LLM 提取结构化信息 → 回写 HubSpot。完整实现见 examples/crm_lead_enrichment/crm_lead_enrichment.py。
- O4 Mini Web Crawler(目标驱动式抓取):用 LLM 生成搜索关键词 → Firecrawl Map 接口定位相关页面 → 抓取并判断目标是否达成。完整实现见 examples/o4-mini-web-crawler/o4-mini-web-crawler.py。
仓库中还有大量同风格的"抓取 + LLM 分析"片段,例如 examples/gpt-4.1-web-crawler/gpt-4.1-web-crawler.py、examples/o1_web_crawler/o1_web_crawler.py、examples/gemini-2.5-web-extractor、examples/deepseek-v3-crawler 等,它们共享"Map 定位 → Scrape 抓取 → LLM 判定"的骨架,仅在大模型与细节处理上有所不同——这正是"模板"一词的含义:一套可复用骨架,换掉模型即可适配不同预算与效果诉求。
完整仓库:面向生产的一体化应用
完整仓库模板是开箱即用的应用级工程,官方博客提到 Open Deep Research 与 Trend Finder 两个代表,均可通过 "Run with Replit" 按钮一键运行。这类模板通常包含完整的依赖声明、环境变量示例与交互式命令行,适合直接部署或作为上层业务的起点。仓库中与其同类的完整应用还包括 examples/deep-research-apartment-finder(Deep Research 租房分析 CLI)、examples/job-resource-analyzer、examples/sales_web_crawler 等。
从代码片段看模板的底层 API 调用链
"模板"不是黑盒——其本质是对 Firecrawl 核心 API 的精妙组合。下面结合仓库源码拆解几个关键模式。
模式一:单页抓取(Scrape)——CRM 线索富化的核心
CRM 线索富化模板的核心只有一次调用:scrape_url配合formats: ['markdown']拿到网页正文,再交给 LLM 做信息抽取。见 examples/crm_lead_enrichment/crm_lead_enrichment.py:
def scrape_url(firecrawl_client, url): try: return firecrawl_client.scrape_url(url, params={'formats': ['markdown']}) except Exception as e: print(f"Error scraping URL {url}: {str(e)}") return None随后用 GPT-4o 将 markdown 转化为is_open_source / value_proposition / main_product / potential_scraping_use四个字段的 JSON,再回写 HubSpot 的公司属性(examples/crm_lead_enrichment/crm_lead_enrichment.py#L84-L100)。整条链路验证了"抓取 + 结构化"是模板复用的高频范式。
模式二:Map + Scrape 两段式——目标驱动的 O4 Mini Web Crawler
O4 Mini Web Crawler 展示了更聪明的做法:先缩小范围,再精读页面。
第一步,让 o4-mini 根据目标生成 1~2 个词的搜索参数,交给map_url定位候选页面(examples/o4-mini-web-crawler/o4-mini-web-crawler.py#L57):
map_website = app.map_url(url, params={"search": map_search_parameter})第二步,让 LLM 对返回的 URL 列表按相关度打分排序,取出 Top 3,逐个scrape_url抓取并判定目标是否达成(examples/o4-mini-web-crawler/o4-mini-web-crawler.py#L153-L211):
scrape_result = app.scrape_url(link, params={'formats': ['markdown']})该模式大幅降低了抓取成本:不必爬全站,只精读最相关的少量页面即可交付答案。仓库中 examples/gpt-4.1-web-crawler/gpt-4.1-web-crawler.py、examples/o1_web_crawler/o1_web_crawler.py 采用同一骨架,仅将模型替换为各自版本——这正是模板"换模型即适配"的典型体现。
模式三:AI 抽取(Extract)——结构化工序的前置
Hacker News 抓取器展示了extract格式的用法:直接让 Firecrawl 依据 Pydantic Schema 返回结构化 JSON,无需外部 LLM。见 examples/hacker_news_scraper/firecrawl_scraper.py:
data = app.scrape_url( BASE_URL, params={ "formats": ["extract"], "extract": {"schema": NewsData.model_json_schema()}, }, )其中NewsData是 Pydantic 模型(含title / source_url / author / rank / upvotes / date等字段),model_json_schema()将类型定义自动转换为 JSON Schema。这类模板适合需要稳定字段结构的数据管线。
模式四:Deep Research——多轮研究型模板
Deep Research 模板代表更高阶的用法。以 examples/deep-research-apartment-finder/apartment_finder.py 为例,deep_research接受maxDepth / timeLimit / maxUrls参数并支持实时回调:
params = { "maxDepth": 3, # 研究迭代深度 "timeLimit": 180, # 时间上限(秒) "maxUrls": 20 # 最多分析的 URL 数 } results = firecrawl.deep_research( query=query, params=params, on_activity=on_activity )on_activity回调会按info / search / scrape / analyze类型实时输出研究过程。该模板随后把研究来源交给 Claude 3.7 分析并输出 Top 3 租房方案(examples/deep-research-apartment-finder/README.md)。仓库中的 examples/R1_company_researcher、examples/deep-research-apartment-finder 等均属此类"研究 + 分析"模板。
模板背后的 SDK 能力矩阵
上述模板调用的scrape_url / map_url / crawl_url / search / extract / deep_research等接口,在 Python SDK 中均有完整实现。从 apps/python-sdk/firecrawl/client.py 可以看到客户端同时代理 v1 与 v2 两代 API:v1 侧暴露scrape_url / crawl_url / batch_scrape_urls / async_crawl_url / check_crawl_status / map_url / extract / deep_research / generate_llms_text(apps/python-sdk/firecrawl/client.py#L46-L64),v2 侧则提供scrape / search / crawl / map / extract / agent / interact / monitor / batch_scrape等更细化的能力面(apps/python-sdk/firecrawl/client.py#L65-L120)。
这意味着模板的"参数组合"本质上是对这张能力矩阵的挑选与编排:
- 需要单页正文→
scrape_url/scrape+formats - 需要整站遍历→
crawl_url/crawl(Playground 的整站爬取模板即对应此能力) - 需要定位相关页面→
map_url/map+search参数 - 需要搜索即抓取→
search(在 apps/test-site/src/content/blog/introducing-search-endpoint.md 中有独立介绍) - 需要结构化数据→
extract格式或deep_research - 需要多步交互→
agent
理解这张矩阵,你在看任何一个模板时都能立刻判断它"为什么这么配参数",也更容易按自己的场景改造模板。
社区共创机制与质量控制
Templates 之所以能持续壮大,关键在于其社区化运营机制(公告原文详述,apps/test-site/src/content/blog/introducing-firecrawl-templates.md):
- 保存给自己:创建私有模板,仅自己可见,用于沉淀个人项目配置;
- 分享给所有人:公开模板会获得独立页面,成为公共资产;
- 为优秀模板投票:通过点赞让最有价值的方案浮出水面;
- 发布审核:公开模板发布初期会经过快速审核流程以保证质量,公告同时指出该机制可能随平台演进而调整。
从仓库角度看,社区模板的"公开页面"与本仓库 examples/ 目录的沉淀逻辑高度一致——每个示例目录都包含完整的可运行脚本(Python 为主)与依赖/说明文件,这正是"模板 = 可复用 + 可解释"这一理念的代码化体现。
如何开始使用模板
公告给出的上手路径可归纳为四条(apps/test-site/src/content/blog/introducing-firecrawl-templates.md):
- 浏览模板库:在模板库页面中浏览、搜索与过滤,找到匹配自己场景的模板;
- 在 Playground 中试玩:打开 Playground 的 Templates 下拉菜单,直接加载整站爬取、JS 重页面等预配置模板,先验证抓取效果;
- 一键运行完整仓库:对 Open Deep Research、Trend Finder 这类仓库模板使用 "Run with Replit" 按钮,免去本地环境搭建;
- 创建并分享自己的模板:把本仓库 examples/ 中的代码(如 CRM 线索富化、O4 Mini Web Crawler)当作起点,改造后发布。
对于希望自建模板的开发者,推荐路径是:先在本仓库中挑选一个最接近需求的示例作为骨架——例如需要线索富化参考 examples/crm_lead_enrichment/crm_lead_enrichment.py,需要目标驱动抓取参考 examples/o4-mini-web-crawler/o4-mini-web-crawler.py,需要研究型应用参考 examples/deep-research-apartment-finder/apartment_finder.py——然后按自己的数据源、输出格式与模型选型调整参数,最后沉淀为自己的模板。
结语
Templates 是 Firecrawl 生态中"从能力到方案"的关键一环:它把 Playground 的零代码试玩、代码片段的最小集成、完整仓库的一键运行串联成一条完整的上手链路。而这份开源仓库恰好把这些模板的"源代码"摊开在你面前——阅读 examples/ 下的实现,对照 apps/python-sdk/firecrawl/client.py 的 API 矩阵,你不仅能"拿来即用",更能理解每个模板背后的参数设计与调用链,从而真正拥有按需定制模板的能力。
- 网页爬虫
- 后端
- AI 应用
【免费下载链接】firecrawl
The web data API to search, scrape, and interact at scale. 🔥
相关推荐
CodeForge代码片段:常用模板库管理
CodeForge代码片段:常用模板库管理 痛点:开发者的代码片段管理困境 你是否经常遇到这样的场景? 需要快速测试一个小功能,却要重新编写重复的样板代码 忘记
开发工具代码编辑器桌面应用数据库客户端数据可视化8个实用技巧:优化KungfuBot运动跟踪性能的进阶配置与参数调优
8个实用技巧:优化KungfuBot运动跟踪性能的进阶配置与参数调优 KungfuBot是一个基于物理的人形机器人全身控制框架,专门用于学习高度动态的技能。作为
告别重复编码:Tabby模板与代码片段全攻略
告别重复编码:Tabby模板与代码片段全攻略 你是否还在为重复编写相同结构的代码而烦恼?是否希望有一种方式能让常用代码片段随用随取?本文将带你全面掌握Tabby
人工智能大模型本地部署模型推理服务后端RAG交互助手
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考