1. 项目定位与用途
changedetection.io 是一个开源的网站变化检测与监控服务,定位为轻量级、易用的自动化监控工具。其核心用途是持续跟踪网页内容的变化,无需人工反复刷新,即可在内容更新时获得通知。它既提供免费的自我托管版本,也提供付费的 SaaS 服务(包含代理、Chrome 浏览器等高级功能)。主要服务于需要实时掌握网页动态的个人或团队,如电商运营、内容编辑、安全监控等。
dgtlmoon/changedetection.io:changedetection.io 是一个开源的网站变化检测与监控平台,可自动跟踪网页内容更新并通过多种渠道发送实时警报,适用于价格追踪、库存本页整理它解决什么问题、适用场景、安装方式和使用方法。
changedetection.io 是一个开源的网站变化检测与监控平台,可自动跟踪网页内容更新并通过多种渠道发送实时警报,适用于价格追踪、库存监控及内容更新监测等场景。
changedetection.io 是一个开源的网站变化检测与监控服务,定位为轻量级、易用的自动化监控工具。其核心用途是持续跟踪网页内容的变化,无需人工反复刷新,即可在内容更新时获得通知。它既提供免费的自我托管版本,也提供付费的 SaaS 服务(包含代理、Chrome 浏览器等高级功能)。主要服务于需要实时掌握网页动态的个人或团队,如电商运营、内容编辑、安全监控等。
项目主要解决人工监控网站变化效率低下、易遗漏的问题。传统方式需要用户反复访问目标页面检查更新,耗时耗力。changedetection.io 通过自动化抓取和比对,实现 24/7 无人值守监控,并能识别细微的内容改动(如价格调整、库存状态变化、文本修订)。同时,它解决了复杂页面(需登录、交互)的监控难题,通过浏览器步骤模拟用户操作,扩展了可监控的网站范围。
典型场景包括:1)电商价格与库存监控,如商品降价、补货通知;2)内容更新监测,如新闻公告、政策文件、博客文章发布;3)安全与运维监控,如检测网站篡改、挂马或服务故障;4)竞品分析,跟踪竞争对手页面变化;5)监控需登录后访问的页面,如会员专区、个人订单状态。从仓库信息可见,其价格检测功能专门针对单品页面设计,可提取元数据并设置阈值告警。
从当前仓库信息可见,主要提供两种安装方式:1)基于 Python 环境的源码部署,需安装 requirements.txt 中列出的所有依赖包(包括 Flask、apprise、playwright 等),但具体安装命令(如 pip 命令)未在 README 中明确给出;2)Docker 镜像部署,仓库 Docker Pulls 统计记录表明提供了官方镜像,但 Dockerfile 或 docker-compose 示例未在当前提供的信息中明确列出。此外,文档构建需执行 npm install(见 docs/.gitignore 和 docs/README.md),但这属于开发文档的构建步骤,非主程序安装。
使用方式分为 Web 界面和 API 两种:1)Web 界面:用户通过浏览器登录后,添加监控 URL,使用视觉选择器选择关注区域,或配置浏览器步骤(如登录、搜索)以访问受保护内容,最后设置通知渠道和触发条件;2)REST API:基于 OpenAPI 3.1.0 规范(见 docs/api-spec.yaml)提供完整的 Watch、History、Snapshot 等资源管理接口,支持通过 API 密钥认证进行程序化操作。通知渠道通过 apprise 库集成,支持 URL 模板和条件触发。具体操作步骤在 Web 界面中引导,但详细命令行或 API 调用示例未在当前信息中完整给出。
项目实现具有以下特点:模块化架构,内容抓取层抽象为 content_fetchers 模块,支持多种后端(requests/requests-file、selenium、playwright、puppeteer);差异计算模块 diff 使用 diff_match_patch 算法,并结合 inscriptis 将 HTML 转为纯文本进行比对;通知系统通过 apprise 插件化集成多通道;浏览器步骤模块支持交互式操作录制。数据模型包括 Watch、Tag、Notification 等核心实体。API 文档使用 Redoc 从 OpenAPI 规范自动生成交互式页面(见 docs/api_v1/index.html)。仓库中未明确给出性能指标、集群部署方案或详细的安全配置指南。
仓库信息表明项目提供开源的自我托管版本(免费),同时也提供付费的 SaaS 计划($8.99/月),包含代理、Chrome 浏览器等高级功能。具体定价和功能差异需参考官网。
从当前仓库信息可见,支持两种方式:1)基于 Python 环境,需安装 requirements.txt 中的依赖包,但具体命令未明确给出;2)使用 Docker 镜像部署,Docker Pulls 统计记录证实有官方镜像,但镜像名称和运行命令未在当前信息中明确列出。建议参考仓库的 Docker 相关文件或官方文档。
支持。README 提到通过“浏览器步骤”功能可以模拟交互操作(如登录、点击按钮),从而访问受保护内容。但此功能需要启用 Playwright 内容抓取器,而 Playwright 在仓库中作为可选依赖存在,其完整支持可能依赖于订阅服务或特定配置。
项目通过 apprise 库集成通知,支持 Discord、Email、Slack、Telegram、Webhook 等多种渠道。在 Web 界面中可添加和配置通知服务,也支持通过 API 管理。具体配置参数(如服务器地址、令牌)需在对应通知服务的设置中填写,但详细步骤未在当前信息中展开。
是的。仓库包含 OpenAPI 3.1.0 规范的 API 定义(docs/api-spec.yaml),并提供基于 Flask 的 RESTful 接口,支持对监控任务(Watch)、历史记录、快照等资源进行 CRUD 操作。API 使用密钥认证,交互式文档可通过 Redoc 访问(docs/api_v1/index.html)。