开源工具 Change Detection 实时监控网页更新/库存变动
前言
Change Detection 是一款开源的网页变动监控工具,一旦网站内容发生变动, Change Detection 会在第一时间发送通知,并且可以查看具体新增/删除了哪些内容。
简单配置一下规则之后,我们就可以实现监控商品的库存变动、价格变动,亦或者是优惠码的更新,有了它,抢购总能快人一步。
安装
通过以下 Docker 命令直接启动
docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io
也可以使用 Docker Compose 启动
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io
container_name: changedetection
network_mode: host
volumes:
- /opt/changedetection:/datastore
restart: unless-stopped
配置
成功运行后,访问 http://ip:5000
就可以进入到 Change Detection
通知
我们先来配置一下通知,方便网页变动时第一时间收到提醒,来到 “Settings -> Notifications”
Change Detection 采用 AppRise 作为通知工具,因此支持绝大多数的通知方式,以 Gotify 为例,参照 AppRise 的格式填写 URL gotify://hostname/token
添加完成后,点击一下 “Send test notification”,能够收到测试消息就说明添加成功了

接着还可以在下方设置一下通知的标题和内容格式,Change Detection 内置了很多的变量,通过这些变量你可以根据自己的需求来配置通知的具体内容。

监控
来到 General,可以看到默认的频率是 3 小时一次,根据自己的需求调整一下监控频率

此时基本配置已经完成,返回首页添加一个站点就可以开启监控了
提示
以上设置都是全局设置,你还可以为每个监控单独设置通知方式和监控频率

进阶配置
默认情况下,会监控整个页面,如果页面包含排行榜、热搜之类的内容,那么每次监控都会提示不同,就达不到我们想要的效果了
来到 “Filters & Triggers” 中,我们可以通过 xpath 来筛选一下,只监控指定的元素,这样就不会被页面中实时更新的动态元素干扰了

此外,你还可以在 “Conditions” 中设置一个或多个匹配条件,更加精细化的控制监控内容

预览: