用途:该技能用于创建、列出、更新和删除监控任务,按计划监测某个 URL 的精确内容差异,或监测站点地图中 URL 的新增与删除,并在变更时通过签名 Webhook 通知,全部以 Crawlora API 返回的规范化 JSON 呈现,无需自行编写轮询循环或差异比对逻辑。
主要能力:创建监控(POST /monitors),参数包括 url、cadence_minutes(5 至 10080,即 5 分钟到 7 天),可选 target_type 为 page(默认,基于 SHA-256 内容指纹差异)或 sitemap(跟踪站点地图 <loc> 条目的新增与删除,支持 include_patterns/exclude_patterns glob 过滤与 max_urls)。可配置 notification.webhook_url(须为 https 且解析到公网地址)与 webhook_secret 以获得签名投递;notification.events 可选 change.detected(默认,仅检测到差异时触发)和/或 run.completed(每次运行完成时触发)。列表与获取:GET /monitors(按最新优先,上限 100,免费)、GET /monitors/{id}。更新:PATCH /monitors/{id}(免费),更改 target_type 或 sitemap 会重置差异基线。删除:DELETE /monitors/{id}。检查历史:GET /monitors/{id}/checks(最新优先,上限 50),含每次运行的 Webhook 投递状态。
使用方式:先在 https://crawlora.net 获取免费 API Key(每月 2000 积分,无需信用卡),将 CRAWLORA_API_KEY 设置到环境变量,请求发送至 https://api.crawlora.net/api/v1,缺失或无效密钥返回 401。使用 scripts/crawlora.sh 发起请求,可避免密钥出现在命令行参数中。示例:scripts/crawlora.sh -X POST /monitors '{"url": "https://example.com/pricing", "cadence_minutes": 60, "name": "Pricing page", "notification": {"webhook_url": "https://example.com/webhooks/crawlora"}}' | jq '.';站点地图监控加 "target_type": "sitemap";列表用 scripts/crawlora.sh /monitors | jq '.';查看运行记录用 scripts/crawlora.sh /monitors/mon_abc123/checks | jq '.';暂停用 scripts/crawlora.sh -X PATCH /monitors/mon_abc123 '{"enabled": false}' | jq '.'。
Webhook 验证:每次投递带 X-Crawlora-Signature: t=<unix>,v1=<hmac-hex> 头,是对 "{t}.{rawBody}" 以 webhook_secret 为密钥的 HMAC-SHA256 摘要,需重新计算并拒绝过期时间戳以防重放。
适用场景:监控竞品定价页变化、发现站点新增页面、查看监控是否正常运行及 Webhook 是否送达。
限制:仅支持公开可访问的 URL,无法登录认证页面;管理调用免费,仅检查计费;免费额度每月 2000 积分;密钥只存于 CRAWLORA_API_KEY,切勿硬编码、放入查询参数或提交到仓库;所有请求仅限调用者自己的 API Key,无跨账户查询。完整端点列表见 reference/endpoints.md。