实战范例

价格监控

用 batch extract 按计划跟踪竞品价格

Schema 定义一次,按 cron 跑,与上一份快照做 diff。适用于零售、电商、SaaS 价格页以及差旅价格。

Schema

{
  "type": "object",
  "properties": {
    "name":            { "type": "string" },
    "price":           { "type": "number" },
    "currency":        { "type": "string" },
    "discountPercent": { "type": "number" },
    "inStock":         { "type": "boolean" }
  },
  "required": ["name", "price"]
}

实现

通过 /batch/extract 提交你要跟踪的所有商品 URL。配合 Webhook,让你的 worker 只在新数据落地时触发。

curl -X POST https://openapi.thunderbit.com/openapi/v1/batch/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d @payload.json

其中 payload.json 携带 URL 列表、上面的 schema 以及你的 Webhook 配置。

Diff

对每个 (url, name) 对做哈希,存下价格 + 时间戳,把有意义的变化(例如降价超过 10%)推到 Slack 或邮件。

小贴士

  • 如果目标站点按地区显示不同价格,固定一个 countryCode
  • 对异步水合(hydrate)价格的 SPA,使用 renderMode: "basic"
  • 对有反爬保护的站点,参考 反爬 & JS 渲染

相关

这份 recipe 正在补充完整的 cron + diff worker 示例,敬请期待。