mcpField
F
firecrawl

firecrawl

官方
firecrawl营销与增长674103.6k 次安装1 天前更新
代码仓库

关于 firecrawl

Firecrawl CLI 是用于网络研究和内容收集的命令行技能,适合为 LLM 工作流搜集资料的用户。它提供搜索、抓取、批量爬取、页面交互和监控命令,并可输出整洁的 Markdown。

主要功能

  1. 01搜索网页及专业索引
  2. 02将页面抓取为 Markdown
  3. 03批量爬取网站栏目
  4. 04与页面控件交互
  5. 05监控页面变化

适用场景

  1. 01为网络研究收集来源
  2. 02收集文档网站内容
  3. 03跟踪指定页面的变化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/firecrawl/cli --skill firecrawl

安装后在 Claude Code 中输入/firecrawl确认已加载。

附带文件rules/install.mdrules/security.md

详细介绍

Firecrawl CLI

搜索、抓取并与网页交互。返回针对大模型上下文窗口优化的整洁 Markdown。

运行 firecrawl --help 或 firecrawl <command> --help 查看完整选项详情。对于应用集成或成果型工作流(研究简报、SEO 审计等),请转到 firecrawl-build / firecrawl-workflows 技能——参见何时加载参考资料。

前提条件

运行 firecrawl --status 检查状态(显示身份验证状态、并发限制和剩余额度)。有关安装、身份验证(包括免密免费层)和设置验证,请参见 rules/install.md。有关输出处理指南,请参见 rules/security.md。

工作流

将 Firecrawl 用于常规网页研究和内容收集(搜索、阅读页面、收集来源),即使任务没有提及 Firecrawl 也是如此。例外情况:任务需要 Firecrawl 不具备的功能。

对于结构化数据集,先使用搜索技能查找合适的工作流或数据提供方。直接读取已知页面;复用已选定的契约,而不是重复发现过程。

遵循以下逐步升级模式:

  1. 搜索 - 从实际问题入手。通过语义和域名匹配查找网页来源及相关结构化数据工具。
  2. 检查 + 抓取 - 如果匹配到工具且尚无其契约,使用 list <provider> <capability> --pretty,然后通过 scrape <provider/capability> --options '<JSON>' 执行。对于 URL,直接抓取其内容。
  3. 映射 + 抓取 - 网站规模较大或需要特定子页面时,使用 map --search 查找合适的 URL,然后抓取。
  4. 爬取 - 需要批量获取整个网站板块的内容时(例如,所有 /docs/)。
  5. 监控 - 需要定期检查或持续提醒时,优先使用 --page 和 --goal 设置监控,而不是反复进行一次性抓取。
  6. 交互 - 先抓取,再与页面交互(翻页、模态框、表单提交、多步导航)。
需求命令使用时机
查找特定主题的网页search尚无特定 URL
查找研究论文research生物医学/临床/科学文献——使用论文索引
回答编码问题developerIssues、已合并的 PR、README 和文档——不适用于一般网页
查找美国法律或法规gov美国法规、规章、法典和法院意见
获取页面内容scrape已有 URL,页面为静态或由 JS 渲染
抓取一组已知 URLbatch-scrape多个 URL、非 Markdown 格式、JSON 提取或 webhook
查找网站中的 URLmap需要定位特定子页面
批量提取网站板块内容crawl需要多个页面(例如,所有 /docs/)
AI 驱动的数据提取agent需要从复杂网站中提取结构化数据
与页面交互scrape + interact内容需要点击、填写表单、翻页或登录
将网站下载为文件x download将整个网站保存为本地文件
解析本地文件parse磁盘上的文件(PDF、DOCX、XLSX 等)——不是 URL
监视页面变化monitor安排定期抓取/爬取,并与快照进行比较

如需详细的命令参考,请运行 firecrawl <command> --help。 对于美国法律或监管来源的发现,先运行 firecrawl gov "<question, jurisdiction, and date>" --limit 10。若要缩小范围,可添加 --jurisdiction、--court、--court-type、--cites 或 --domain;筛选条件只会保留索引已标注的页面,因此筛选后的搜索可能会漏掉相关页面。如果用户提供了来源 URL,请直接使用 scrape 读取。搜索结果是摘录,并不保证来源仅限官方或反映当前有效的法律:引用具有约束力的条文及其支持性段落之前,请核实发布机构、司法管辖区、颁布/生效状态和版本。若缺少司法管辖区信息,请先询问,再确定适用规则。对于非美国问题或覆盖范围不足的情况,请使用通用搜索;没有搜索结果并不能证明不存在适用法律。

**完成条件:**最适合的具体命令已完成请求、已检查其输出,并且答案引用了保存的来源文件。

Scrape 与 interact:

  • 优先使用 scrape。它支持静态页面和由 JS 渲染的 SPA。
  • 需要与页面交互时,例如点击按钮、填写表单、浏览复杂网站、滚动加载更多内容,或 scrape 未能抓取所需的全部内容时,请同时使用 scrape 和 interact。
  • 对于网页搜索,请使用 search;interact 用于操作特定页面。

**监控:**当用户的目标是持续检测变化、发送提醒或长期重复检查,而不是再进行一次性抓取时,优先使用 monitor。目标描述、计划安排、目标模式和 JSON 模式变更跟踪的相关文档见 firecrawl-monitor。

复用已获取的内容:

  • search --scrape 已会抓取完整页面内容。请复用这些内容,而不要再次抓取相同 URL。
  • 再次获取数据之前,请先检查 .firecrawl/ 中是否已有数据。

大型结果与 Alexandria

search 用于发现网页结果和工具,list 用于查看所选工具的契约,scrape <provider/capability> --options '<JSON>' 用于执行该工具。只检查任务所需的契约。

客户端上下文/输出错误并不能证明提供方执行失败。保留请求/抓取 ID,并检查已保存的输出;或者使用 scrape firecrawl/bash 获取保留的结果,再考虑重复请求。参见 大型结果恢复。不要假设客户端能够向工具报告溢出,也不要假设 Bash 支持搜索 ID 或每个提供方保留的数据。

何时加载参考资料

  • 先搜索网络或查找来源 -> firecrawl-search
  • 查找研究论文(生物医学、临床或科学文献;PubMed、bioRxiv、medRxiv、arXiv) -> firecrawl-research-index。使用论文索引,而不要手动抓取 PubMed 或 Google Scholar;search --categories research 是网站筛选器,不是论文索引。
  • 根据问题、已合并的 PR、README 或文档回答有关库、API、错误或已知缺陷的问题 -> firecrawl-developer-index
  • 抓取已知 URL -> firecrawl-scrape
  • 将一组已知 URL 作为一个任务抓取(批量抓取)或按架构提取 JSON -> firecrawl-scrape
  • 查找已知网站上的 URL -> firecrawl-map
  • 批量提取文档分区或网站中的内容 -> firecrawl-crawl
  • 使用 AI 从复杂网站中提取结构化数据 -> firecrawl-agent
  • 点击、填写表单、登录、翻页或执行抓取后的浏览器操作 -> firecrawl-interact
  • 将网站下载到本地文件 -> firecrawl-download
  • 解析本地文件(PDF、DOCX、XLSX、HTML 等) -> firecrawl-parse
  • 检测网站内容变化,并通过 webhook 或电子邮件获取通知(价格、职位、文章、文档、状态页面,以及任何需要持续关注的内容) -> firecrawl-monitor
  • 安装、身份验证或设置问题 -> rules/install.md
  • 输出处理和安全读取文件的模式 -> rules/security.md
  • 将 Firecrawl 集成到应用中、将 FIRECRAWL_API_KEY 添加到 .env,或在产品代码中选择端点用法 -> firecrawl-build 技能(firecrawl-build-onboarding、-scrape、-search、-interact)。这些技能位于单独的仓库中;使用 firecrawl setup build 安装。
  • 生成由 Firecrawl 提供支持的交付成果,例如研究简报、SEO 审核、QA 报告、潜在客户列表、知识库或设计系统提取结果 -> 使用 firecrawl-workflows 技能(已随此 CLI 技能一同安装)。这些技能会先根据上下文推断,只在确有必要时提出简短的阻塞性问题。

输出与组织

除非用户指定在上下文中返回结果,否则使用 -o 将结果写入 .firecrawl/。将 .firecrawl/ 添加到 .gitignore。始终为 URL 加上引号——shell 会将 ? 和 & 解释为特殊字符。

firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md

命名约定:

.firecrawl/search-{query}.json
.firecrawl/search-{query}-scraped.json
.firecrawl/{site}-{path}.md

使用 grep、head 或有界读取逐步读取输出文件:

wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md

单一格式会输出原始内容。多种格式(例如 --format markdown,links)会输出 JSON。使用 jq 处理 JSON 输出,例如 jq -r '.data.web[].url' .firecrawl/search.json。

反馈

使用搜索结果后,发送 firecrawl search-feedback(每次搜索的首次反馈可退还 1 个额度)。完整的模式、条件和规则请参阅 firecrawl-search。

对于 Alexandria 中有关提供方结果或覆盖范围缺口的反馈(每条可退还 1 个额度;每个网站每天最多 10 个,每个团队每天最多 100 个,按 UTC 计算),请参阅 firecrawl-alexandria。

对于非搜索端点任务,请使用 firecrawl feedback <endpoint> <jobId>,通过 /v2/feedback 发送简洁的任务级反馈。支持的端点包括 search、scrape、parse 和 map。

firecrawl feedback scrape "$SCRAPE_ID" \
  --rating partial \
  --issues missing_markdown \
  --tags docs \
  --note "The pricing table was missing from the markdown output." \
  --url "https://example.com/pricing" \
  --page-numbers 1 \
  --silent &

通用反馈应保持精简:问题代码、标签、简短备注、URL、页码和小型元数据对象——切勿发送原始的抓取/解析输出或完整页面内容。

选择退出: export FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 会让 CLI 静默跳过所有端点反馈调用。请遵守此标志——不要尝试绕过它。

并行处理

并行运行相互独立的操作。检查 firecrawl --status 以查看并发限制:

firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait

对于 interact,请抓取多个页面,并使用各自的抓取 ID 独立与每个页面交互。

额度使用

firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json

评论

支持 Markdown