想蹲一个配件的降价,开个标签页每半小时刷一次,刷了一下午啥也没等到,还搭进去不少注意力。后来想明白了,这活就不该人干。翻GitHub找到一个专门干这个的开源项目:changedetection.io,34K+ Star,盯网页变化的一把好手。

它干的事一句话能说清:你告诉它盯哪个网页,它按设定的频率去抓,内容一有变化就通知你。Python写的,Apache-2.0协议,自己用Docker一行就能拉起来,数据全在自己服务器上。
项目地址:github.com/dgtlmoon/changedetection.io
能盯的东西比想象的宽
普通网页文字变化就不说了,JSON接口的返回值、PDF文件的文本改动、甚至页面里内嵌的结构化数据,都能纳入监控。对商品页还有专门模式,直接从页面的schema里提取价格和库存,价格跌破某个数、或者缺货突然显示有货,才会触发提醒。
精准的提取与圈选
网页上乱变的东西太多——导航栏、广告位、时间戳全是噪音。changedetection.io给了很细的提取手段:XPath、CSS选择器、JSONPath、jq都内置了,可以只圈定页面上一小块区域做比对。还有可视化圈选工具,在渲染好的页面上点选要盯的元素,不用自己写选择器。

通知渠道全覆盖
底层用的Apprise库,85种以上目标随便挑:Telegram、邮件、Discord、Slack、ntfy、webhook都行。每条监控规则可以单独指定用什么渠道、多久查一次、只在哪些时间段查。搭配条件触发,基本能做到"只把我在意的动静推过来"。

登录页面也能盯
那些要登录才能看的页面也能监控。配Playwright渲染器之后,可以给监控项编排Browser Steps:先填账号密码、点掉Cookie弹窗、再进到目标页面,每次检查前都把这套动作走一遍。个别站点有地区限制的,还能给每条规则单独挂代理。

AI加持:意图规则
最近几个版本在往AI方向加东西。接上OpenAI、Claude、Gemini,或者本地的Ollama,可以用大白话写一条意图规则,比如"价格低于50美元才提醒我""忽略导航和页脚的变化"。每次抓到差异,AI先对照意图判断值不值得通知,无关的变化直接静默掉,还会把干巴巴的diff翻成一句人话推给你。

与在线服务的区别
跟Distill、Visualping这类在线服务比,免费版限制一堆URL、检查间隔拉得很长,数据还躺在别人服务器上。自己跑一套,想盯几百个页面都行,30秒一查也没人管,浏览网页时看到想盯的页面,点一下Chrome扩展就加进去了。
写在最后
目前已经挂上了十来个监控:几个商品的降价、一个软件的发布页、还有个经常改政策的官网。反正自托管免费,试试不吃亏。