想在某个商品价格变动、限量商品补货、或者某份政府公告更新的第一时间收到提醒?changedetection.io 专做这件事——给它一个 URL 和监控规则,页面内容一变就通知你(邮件、Webhook、Telegram、Gotify 等都能接)。本文在雨云 KVM 云服务器用 Docker 部署 changedetection.io,并接上 雨云搭建 Gotify 自托管推送,做到”页面一变,手机立刻弹通知”。
它和 Uptime Kuma 有什么区别
容易混,但两者盯的东西不一样:
- Uptime Kuma(雨云搭建 Uptime Kuma 监控)盯的是”网站在不在”,也就是可用性、响应时间、证书到期。
- changedetection.io 盯的是”页面内容变没变”,也就是具体的文字、价格、库存状态。
一个是存活监控,一个是内容差异监控,互补而非替代。真要做完整盯站方案,两个一起上最稳。
一、准备与部署
在雨云开一台入门版 KVM 云服务器(优惠码 admin01 五折,7 天无理由退款),系统 Debian 12,到手先按 VPS 到手第一件事 做安全初始化。新手选型看 VPS 怎么选不踩坑。
docker-compose.yml 示例:
services:
changedetection:
image: dgtlmoon/changedetection.io:latest
container_name: changedetection
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./datastore:/datastore
environment:
- TZ=Asia/Shanghai
- BASE_URL=http://你的域名或IP:5000
启动后访问 http://服务器IP:5000,数据都在 ./datastore 卷里,记得定期备份。
二、新建第一个监控
- 顶部输入框粘贴要监控的 URL,点「Watch」。
- 进入该 watch 的「Edit」,选择监控方式:
- DOM 变化:最常用的整页差异,适合大多数页面。
- 文本 / JSON:只比对抓出来的文本或某段 JSON,误报更少。
- XPath / CSS 选择器:只盯页面上某个区域(比如价格那一行),最精准。
- 忽略动态区域很重要:广告位、实时时间戳、随机数这些会一直变,要在「Filters & Triggers」里用 CSS 选择器排除,否则天天误报。
三、通知接 Gotify
changedetection.io 通知渠道很多,这里接 Gotify 做手机推送:
- 打开 Gotify(参考 雨云搭建 Gotify 自托管推送),建一个应用拿到 token 和访问地址。
- 在 changedetection 的「Settings → Notifications」选 Gotify,填
https://你的gotify地址/message?token=xxx。 - 保存后,任意一个 watch 触发变化,手机立刻收到推送。
如果需要更复杂的联动(比如变化后自动写库、发邮件),可以用 Webhook 接 雨云搭建 n8n 自动化工作流,让”页面变化”成为一条自动化流水线的起点。
四、频率与资源占用
- 默认检查间隔 5 分钟,可在全局或单个 watch 调整。
- 监控几十个页面时,1 核 1G 足够;页面上百再考虑加资源或加请求间隔。
- 给同一个站点设太短的间隔没必要,既浪费资源也容易被对方限流。
合规提醒
网页变化监控本身是正常技术手段,但使用时有边界:
- 遵守目标网站的
robots.txt与服务条款,不抓取明确禁止或非公开的数据。 - 控制请求频率,不对单一站点高频访问造成负担,遵守《网络安全法》关于不得干扰网络正常功能的要求。
- 不把监控能力用于侵犯版权或窃取他人非公开信息。






