SuperAPI AI 工具集

firecrawl-monitor

数据与分析

查看项目

更新于 11-02 09:13

技能介绍

用途

firecrawl-monitor 用于检测网站内容变化,并在变化发生时通过 Webhook 或邮件通知用户。抓取、差异比对、判断和通知均由 Firecrawl 在服务端完成。每次检查中,每个页面会被标记为 same(相同)、new(新增)、changed(变更)、removed(移除)或 error(错误)。

主要能力

按监控目标提供四种模式:

  • 单页面:使用 --page <url>,监控一个 URL 的变化。
  • URL 批量:使用 --scrape-urls <url,url,...>,监控多个 URL 的变化。
  • 整站:使用 --crawl-url <root-url>,监控一次爬取所发现的每个页面的变化。
  • 全网搜索:使用 --queries <q,...> 加 --goal,每次检查运行查询,对未见过的结果发出告警(首次标记为 new,后续检查标记为 same);--goal 与 --queries 必须同时使用。

前三种模式监控的是已知 URL,全网搜索模式则面向整个网络的新结果。

使用方式

创建监控的示例:

# 单页面,自然语言计划,邮件告警
firecrawl monitor create --name "Blog" --schedule "every 30 minutes" \
  --goal "Alert when a new blog post is published." \
  --page https://example.com/blog \
  --email alerts@example.com

# 全网监控:搜索符合目标的新结果
firecrawl monitor create --name "Competitor launches" --schedule "daily at 9:00" \
  --queries "competitor product launch,competitor funding round" \
  --goal "Alert when a competitor announces a new product or raises funding." \
  --search-window 7d --max-results 20 \
  --email alerts@example.com

# Webhook 通知
firecrawl monitor create --name "Docs webhook" --schedule "every 30 minutes" \
  --goal "Alert when docs content changes." \
  --page https://example.com/docs \
  --webhook-url https://example.com/hook \
  --webhook-events monitor.page,monitor.check.completed

管理与查看:

firecrawl monitor list --limit 20
firecrawl monitor get <monitorId>
firecrawl monitor run <monitorId>             # 立即触发一次检查
firecrawl monitor checks <monitorId>          # 列出所有检查
firecrawl monitor check <monitorId> <checkId> --page-status changed
firecrawl monitor update <monitorId> --state paused
firecrawl monitor delete <monitorId>

子命令包括:create | list | get | update | delete | run | checks | check。运行 firecrawl monitor <subcommand> --help 可查看完整选项列表。

完成标准:create 返回监控 ID,并通过一次快速验证运行与检查确认目标、状态和通知配置符合预期。

编写或完善 --goal(以及全网监控的 --queries)时可参考 goals.md;当用户关注特定结构化字段(价格、标题、库存标记)并希望按字段比对差异时,参考 json-tracking.md。

适用场景

  • 监控博客新文章发布、文档内容变更。
  • 监控多个已知 URL 的变化。
  • 对整站爬取发现的页面进行持续差异监控。
  • 通过全网搜索追踪竞争对手产品发布、融资等新动态。

限制与注意事项

  • 每次检查都会消耗其底层抓取、爬取或搜索的积分,另加可选的判断消耗。定价参见 Monitoring pricing。
  • 计划间隔最小为 5 分钟。零数据保留(zero-data-retention)团队不可使用监控功能。
  • 当用户希望同一 URL 被多次检查时,优先使用一个监控,而不是反复执行一次性抓取。
  • 可用 update --state paused 临时静默;delete 保留给永久结束的监控(--state 是 update 的标志,--status 是全局 CLI 状态标志)。
  • 可用 --page-status changed(或 new、removed、error)过滤检查页面,跳过 same 页面的噪声。
  • firecrawl monitor run <id> 立即触发检查,适合创建后快速验证。
  • --retention-days 控制用于差异比对的快照保留时长;高频监控可调低以节省存储。
  • 外部邮件收件人需主动确认:首次添加时 Firecrawl 发送确认邮件,确认后才接收告警;团队自有地址自动确认。收件人退订后,需由所有者重新添加以触发新的确认邮件。
  • 遇到 HTTP 429 / 限流错误时,退避一次:等待约 30 秒后重试一次。若仍持续,应停止,将限流作为阻塞原因报告,并删除为此任务创建的所有监控。切勿循环重试。
  • 监控触发的抓取默认 maxAge 为 0,即每次检查都执行新抓取,除非在 JSON 载荷中显式设置 scrapeOptions.maxAge。

相关工具

  • firecrawl-scrape:一次性抓取;当检查变为周期性时升级为 monitor。
  • firecrawl-crawl:一次性爬取;与这里的 --crawl-url 配合实现周期性爬取差异监控。
  • firecrawl:顶层工作流指南。
  • firecrawl-build-scrape:在应用中构建周期性检查,而非在此处运行。