logo NodeSeekbeta

黑五必备:Changedetection监控网页变化


什么是 Changedetection?

Changedetection 是一款能提供网页监控服务的应用。当您关注的网页内容发生变化时,它会发送自动通知(例如通过电子邮件)。


部署(安装)

您提供的 docker run 指令已经包含了部署所需的所有关键配置(端口、数据卷、重启策略等)。

1. 一键部署指令

您可以直接在您的服务器或设备上运行以下指令来启动 Changedetection 容器:

sudo docker run -d \
    --restart always \
    -p "12008:5000" \
    -v /vol1/docker/volumes/changedetection-data:/datastore \
    --name changedetection.io \
    dgtlmoon/changedetection.io
2. 指令详解
  • sudo docker run -d: 在后台 (Detached) 运行一个新的 Docker 容器。
  • --restart always: 设置容器总是在退出时自动重启(例如服务器重启后)。
  • -p "12008:5000": 端口映射 (Port Mapping)。这是关键部分,它将您主机(服务器)的 12008 端口映射到容器内部的 5000 端口。
  • -v /vol1/docker/volumes/changedetection-data:/datastore: 数据卷挂载 (Volume Mounting)。这将您主机上的 /vol1/docker/volumes/changedetection-data 目录挂载到容器的 /datastore 目录。这样做可以持久化存储 Changedetection 的所有设置和数据,即使容器被删除或重建,您的配置也不会丢失。
  • --name changedetection.io: 为这个容器指定一个易于识别的名称 changedetection.io。
  • dgtlmoon/changedetection.io: 指定要使用的 Docker 镜像 (Image)。如果本地没有这个镜像,Docker 会自动从 Docker Hub (Docker Hub - 容器镜像库) 上拉取。
3. (可选) 添加环境变量

如果您需要为 Changedetection 设置代理 (Proxy)(例如某些网站需要科学上网才能访问),可以在 docker run 指令中通过 -e 参数添加环境变量。

例如,添加一个 HTTPS_PROXY (HTTPS 代理):

sudo docker run -d \
    --restart always \
    -p "12008:5000" \
    -v /vol1/docker/volumes/changedetection-data:/datastore \
    -e HTTPS_PROXY="http://your.proxy.server:port" \
    -e NO_PROXY="localhost,192.168.0.0/24" \
    --name changedetection.io \
    dgtlmoon/changedetection.io
4. 访问

部署成功后,您就可以通过浏览器访问 Changedetection 了。
地址栏输入:http://[您的主机IP地址]:12008
(请将 [您的主机IP地址] 替换为您运行 Docker 的那台机器的实际IP地址,例如 http://192.168.1.10:12008)。


设置

  1. 全局设置 (Global Settings):

    • 访问主界面后,点击右上角的 SETTINGS (设置)。
    • 在 Notification URL List (通知URL列表) 中设置通知方式。
  2. 通知设置 (Notification Setup):

    • Changedetection 使用 apprise (Apprise - 一个通知库) 项目来实现通知功能。
    • 以电子邮件通知为例:
      • 邮件发送的 URL 地址格式如下:
        mailto://{userid}:{password}@{domain}:{port}?smtp={smtp_server}&from={from_email}&to={to_email}
      • 参数说明:
        • userid: 登录 SMTP (Simple Mail Transfer Protocol - 简单邮件传输协议) 的用户名(您的邮箱账号)。
        • password: 对应的密码(通常是邮箱的授权码,而非登录密码)。
        • domain: 邮件的域地址(例如 qq.com)。
        • port: 邮件服务器端口(例如 465 或 587)。
        • smtp: SMTP 服务器地址(例如 smtp.qq.com)。
        • from: (可选) 回复邮箱地址。
        • to: 收件邮箱地址。
      • 国内邮箱配置示例(以88邮箱为例):
        mailto://wbsu2003:[email protected]?smtp=smtp.88.com&[email protected]
        (注意:示例中的 password 应替换为您的真实邮箱密码或授权码)
  3. 保存设置:

    • 点击 Save (保存)。
    • 如果勾选了 Send test notification on save (保存时发送测试通知),系统会立即发送一封测试邮件到您配置的邮箱。

使用教程

1. 网页监控 (Web Page Monitoring)
  1. 在主界面的输入框中填入您想监控的网址。
  2. (可选) 填入一个 tag (标签),用于分类(例如:优惠信息)。
  3. 点击 Watch (监控)。
  4. 添加成功后,您可以点击 Edit (编辑) 进行进一步设置(例如更改检查频率),如果不修改,将使用全局默认设置。
  5. 当网页发生变化时,Preview (预览) 会变成 Diff (差异)。
  6. 点击 Diff (差异) 可以查看具体的变更内容:
    • 绿色 (Inserted Text): 新增的内容。
    • 红色 (Removed text): 消失的内容。
2. JSON API 监控 (JSON API Monitoring)

Changedetection 也可以监控 JSON API (JSON API - JSON应用编程接口) 的数据变化。

  1. 获取API和JSONPath:

    • 找到一个API网址(例如:天气API http://t.weather.itboy.net/api/weather/city/101020100)。
    • 使用 jsonpath.com 这样的工具来测试并获取您想监控数据的 JSONPath (JSONPath - JSON查询语言) 表达式。
    • 例如,如果想监控温度 (wendu 字段),对应的 JSONPath 可能是 $.data.wendu。
  2. 添加监控:

    • 在 Changedetection 中添加该 API 网址,并设置一个 tag (标签)(例如:天气)。
    • 点击 Watch (监控)。
  3. 配置过滤器:

    • 添加成功后,点击 Edit (编辑)。
    • 在 CSS/JSON Filter (CSS/JSON 过滤器) 选项中,输入 json: 前缀,然后跟上您的 JSONPath 表达式。
    • 示例:json:$.data.wendu
  4. 保存:

    • 保存设置。当API返回的温度数据发生变化时,系统就会发送通知。

hSu3t4SkKeSYYHcRMlaWOVUQhPuDoYh9.webp

  • 正需要呢,这就来了。鸡腿送上。

  • 好 装个试试

  • 已经用了一段时间,规则过滤器难搞

  • @NSdesk #3 我是第一次用,尝试了一下,感觉还可以,过滤器功能还没用过

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72033位seeker

🎉欢迎新用户🎉