Changedetection 网页变化监控搭建教程

Changedetection.io 是一款强大的开源网页变化监控工具,可以定期检查网页内容并在发生变化时发送通知。它的应用场景非常广泛:监控商品价格变动、跟踪政策更新、检测网站内容篡改、监控竞品动态等。本文将介绍如何在搬瓦工 VPS 上部署 Changedetection。

一、应用场景

  • 价格监控:跟踪电商平台商品价格变化,在降价时收到通知。
  • 库存监控:监控缺货商品是否补货,如搬瓦工 VPS 方案的库存变化。
  • 政策更新:跟踪政府网站或企业公告的更新。
  • 内容安全:检测自己网站是否被篡改或注入恶意内容。
  • 竞品分析:监控竞争对手网站的产品和定价变化。
  • 招聘信息:监控特定公司的招聘页面变化。

二、环境准备

  • 搬瓦工 VPS 一台,512MB 内存即可基础使用,使用浏览器渲染模式建议 1GB 以上(使用优惠码 NODESEEK2026 享受 6.77% 折扣)。
  • 已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。

三、Docker Compose 部署

mkdir -p /opt/changedetection
cat > /opt/changedetection/docker-compose.yml <<'EOF'
version: '3.8'

services:
  changedetection:
    image: ghcr.io/dgtlmoon/changedetection.io:latest
    restart: always
    ports:
      - "5000:5000"
    environment:
      - PUID=1000
      - PGID=1000
      - BASE_URL=https://monitor.yourdomain.com
      - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000
    volumes:
      - /opt/changedetection/data:/datastore
    depends_on:
      - playwright-chrome

  playwright-chrome:
    image: dgtlmoon/sockpuppetbrowser:latest
    restart: always
    environment:
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1080
      - MAX_CONCURRENT_CHROME_PROCESSES=5
EOF

playwright-chrome 是可选的浏览器渲染服务,用于处理 JavaScript 动态渲染的页面。如果只监控静态页面,可以去掉这部分。

四、启动服务

cd /opt/changedetection
docker compose up -d

访问 http://VPS_IP:5000 进入管理界面。

五、添加监控任务

5.1 基础网页监控

  1. 点击「Add new watch」。
  2. 输入要监控的 URL。
  3. 设置检查频率(如每 30 分钟)。
  4. 保存后 Changedetection 会立即抓取第一次快照。

5.2 CSS 选择器过滤

如果只关注页面特定区域的变化,可以使用 CSS 选择器来限定监控范围:

  • 编辑监控任务,在「CSS/XPath Filters」中输入选择器。
  • 例如只监控价格元素:.price-current
  • 这样页面其他部分的变化(如广告、评论)不会触发通知。

5.3 触发条件过滤

可以设置更精确的触发条件:

  • 文本触发:只在出现特定关键词时通知,如「有货」「降价」。
  • 文本排除:忽略包含特定词汇的变化。
  • 变化阈值:设置最小变化量,忽略微小的文本改动。

六、配置通知

Changedetection 使用 Apprise 库支持 90+ 种通知渠道:

6.1 Telegram 通知

在设置中添加通知 URL:

tgram://bot_token/chat_id

6.2 邮件通知

mailto://user:password@smtp.gmail.com?to=your@email.com

6.3 Webhook 通知

json://your-webhook-url.com/endpoint

七、配置反向代理

cat > /etc/nginx/sites-available/changedetection <<'EOF'
server {
    listen 80;
    server_name monitor.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

ln -sf /etc/nginx/sites-available/changedetection /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d monitor.yourdomain.com

八、设置密码保护

在 Changedetection 设置页面中可以设置访问密码,防止未授权用户查看你的监控任务和数据。

九、数据备份

tar czf /opt/changedetection/backup_$(date +%Y%m%d).tar.gz /opt/changedetection/data

十、常见问题

JavaScript 页面无法正确抓取

确保 playwright-chrome 服务正常运行,并在监控任务设置中选择「使用浏览器引擎」抓取方式。

频繁误报

使用 CSS 选择器缩小监控范围,或设置变化阈值来忽略微小变动。

总结

Changedetection 是一个实用的网页变化监控工具,可以帮助你追踪互联网上感兴趣的内容变化。搭配 GotifyNtfy 推送服务使用效果更佳。选购搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 享受 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。