SuperAPI AI 工具集

firecrawl

通用与其它

查看项目

更新于 10-16 03:20

技能介绍

用途

Firecrawl CLI 用于搜索、抓取并与网页交互,返回针对 LLM 上下文窗口优化的干净 Markdown。它适合需要从网络获取内容、定位页面、批量提取站点数据或持续监控页面变化的场景。

主要能力

  • search:尚无具体 URL 时,查找页面、回答问题、发现来源。
  • scrape:已有 URL 时,直接提取页面内容,支持静态页面与 JS 渲染的 SPA。
  • map:在已知站点内查找 URL,定位特定子页面。
  • crawl:批量提取整个站点区块(例如所有 /docs/)。
  • agent:从复杂站点进行 AI 驱动的结构化数据提取。
  • interact:先 scrape,再与页面交互(分页、弹窗、表单提交、多步导航、登录等)。
  • download:将整个站点保存为本地文件。
  • parse:解析本地文件(PDF、DOCX、XLSX 等),而非 URL。
  • monitor:定时重复抓取或爬取,并与上一次保留的快照做差异对比,支持 webhook 与邮件通知。

使用方式

前置条件:必须已安装并完成认证,可用 firecrawl --status 检查。状态输出包含认证方式、并发上限(Concurrency)与剩余积分(Credits)。

开始实际工作前,建议先用一个小请求验证设置:

mkdir -p .firecrawl
firecrawl scrape "https://firecrawl.dev" -o .firecrawl/install-check.md
firecrawl search "query" --scrape --limit 3

工作流遵循升级模式:Search(无具体 URL)→ Scrape(已有 URL)→ Map + Scrape(大型站点或需要特定子页面)→ Crawl(需要整个站点区块的批量内容)→ Monitor(需要周期性检查或持续告警)→ Interact(先抓取,再与页面交互)。

scrape 与 interact 的取舍:优先使用 scrape,它可处理静态页面与 JS 渲染的 SPA;当需要点击按钮、填写表单、复杂导航、无限滚动,或 scrape 无法获取全部所需内容时,使用 scrape + interact。切勿用 interact 做网络搜索,应使用 search。

输出与组织:除非用户要求直接在上下文中返回,否则用 -o 将结果写入 .firecrawl/,并把 .firecrawl/ 加入 .gitignore。URL 始终加引号,因为 shell 会把 ? 和 & 视为特殊字符。命名约定如 .firecrawl/search-{query}.json、.firecrawl/{site}-{path}.md。不要一次性读取整个输出文件,应使用 grep、head 或增量读取。单一格式输出原始内容,多格式(如 --format markdown,links)输出 JSON。

并行化:独立操作可并行执行,先查看 firecrawl --status 的并发上限。

积分:firecrawl credit-usage 可查看积分使用情况。search 每次调用消耗 2 积分;使用完搜索结果后可在后台发送结构化反馈,每个 search id 的首次反馈返还 1 积分。设置 FIRECRAWL_NO_SEARCH_FEEDBACK=1 可静默跳过所有反馈调用。

Monitor 详解

Monitor 用于定时重复抓取或爬取,并将每次结果与上一次保留的快照做差异对比。当用户目标是持续变更检测、告警或重复检查时,优先使用 monitor。单页默认使用 --page <url> 与 --goal "..."。每个检查会把页面标记为 same、new、changed、removed 或 error,并提供 webhook 与邮件通知选项。

子命令:create | list | get | update | delete | run | checks | check。

调度支持 cron(--cron "*/5 * * * *")或自然语言(--schedule "every 5 minutes"),最小间隔为 5 分钟。目标可为 --page <url>(单页)、--scrape-urls a,b,c(多个抓取 URL)或 --crawl-url <url>(每次检查整站爬取)。注意:--state(而非 --status)设置 active/paused;--page-status(而非 --status)过滤检查中的页面结果。零数据保留团队不可使用监控功能。

JSON 模式变更跟踪:默认 monitor 对每页 Markdown 做差异对比,返回统一文本 diff。若只关心特定结构化字段(价格、标题、库存标志、列表项),可在目标的 scrapeOptions.formats 中加入 changeTracking 格式,modes: ["json"] 并附 JSON schema。此方式需通过文件或 stdin 传入 JSON 体,标志形式不支持。使用 modes: ["json", "git-diff"] 可混合模式,同时得到 diff.json(逐字段)与 diff.text(Markdown 附带),任一表面变化即标记页面为 changed。仅 Markdown 的 monitor 中,diff.text 保存统一 diff,diff.json 为解析后的 diff AST({ files: [...] }),且没有 snapshot。

适用场景

  • 搜索网络、查找文章、研究主题、发现来源。
  • 抓取已知 URL 的内容。
  • 在已知站点内定位特定子页面。
  • 从文档区块或站点批量提取内容。
  • 从复杂站点进行 AI 驱动的结构化提取。
  • 需要点击、表单、登录、分页或抓取后浏览器操作的场景。
  • 将站点下载为本地文件。
  • 解析本地文件(PDF、DOCX、XLSX、HTML 等)。
  • 检测网站内容变化并通过 webhook 或邮件通知(价格、职位、文章、文档、状态页等持续事项)。

限制与注意事项

  • 必须已安装并完成认证,否则无法使用。
  • 监控功能不适用于零数据保留团队。
  • 监控最小间隔为 5 分钟。
  • 各操作会消耗积分,search 每次 2 积分。
  • 若任务是将 Firecrawl 集成到应用、向项目添加 FIRECRAWL_API_KEY,或在产品代码中选择端点用法,应使用 firecrawl-build 技能;若任务是深度研究、SEO 审计、QA、线索生成、知识库创建、仪表盘报告、购物研究或网站设计系统提取等成果型工作流,应使用 firecrawl-workflows 技能。这些技能在运行 firecrawl init 时已随本 CLI 技能一并安装。
  • 安装、认证或设置问题参见 rules/install.md;输出处理与安全文件读取模式参见 rules/security.md。

致谢

本技能基于 Firecrawl 的优秀工作。原始仓库:https://github.com/firecrawl/cli。由 webconsulting.at 为技能合集改编。