dgtlmoon/changedetection.io

GitHub: dgtlmoon/changedetection.io

开源自托管的网页变更监控平台,支持JS渲染、可视化选区、浏览器自动化步骤和多种通知方式。

Stars: 30949 | Forks: 1734

# 自动检测网站变更 —— 实时监控网页变化 监控网站更新 —— 通过 Discord、Email、Slack、Telegram、Webhook 等多种方式获取通知。 **检测网页内容变化并获取即时提醒。** 非常适合监控价格变动、内容编辑、条件变化等场景。 [网站页面变更监控](https://changedetection.io?src=github) [![Release Version](https://img.shields.io:/github/v/release/dgtlmoon/changedetection.io?style=for-the-badge)][release-link] [![Docker Pulls](https://img.shields.io/docker/pulls/dgtlmoon/changedetection.io?style=for-the-badge)][docker-link] [![License](https://img.shields.io/github/license/dgtlmoon/changedetection.io.svg?style=for-the-badge)](LICENSE.md) ![changedetection.io](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/55d7947f07002602.svg) [**立即开始监控网页变更。没有时间?试试我们每月 $8.99 的订阅服务,使用我们的代理和支持!**](https://changedetection.io) ,_价格仅为其他网站变更监控服务的一半!_ - 内置 Chrome 浏览器。 - 无需安装,注册后通过浏览器登录访问。 - 超快速度,无需注册即可开始设置。 - 立即开始监控并接收网站变更通知。 - 查看我们的[教程和操作指南页面以获取更多灵感](https://changedetection.io/tutorials) ### 使用 Visual Selector 工具定位网页的特定部分。 需连接到 playwright content fetcher(作为订阅服务的一部分提供) [选择网页中需要监控变更的部分和元素](https://changedetection.io?src=github) ### 轻松查看变更内容,按单词、行或单个字符进行检查。 [自托管网页变更监控上下文差异对比 ](https://changedetection.io?src=github) ### 执行交互式浏览器步骤 填写文本框、点击按钮等,设置您的变更检测场景。 使用 **Browser Steps** 配置,在执行变更检测之前添加基本步骤,例如登录网站、将产品添加到购物车、接受 Cookie 登录、输入日期和优化搜索。 [带有交互式浏览器步骤的网站变更检测,检测登录和密码后的变更、搜索查询等](https://changedetection.io?src=github) 在 **Browser Steps** 运行后,访问 **Visual Selector** 标签页以细化您感兴趣的内容。 需要启用 Playwright。 ### 强大的补货和价格变动通知 启用 _“单一产品页面的补货和价格检测”_ 选项,以激活监控产品价格的最佳方式,这将提取 HTML 页面中的任何元数据,并为您提供多种跟踪产品价格的选项。 直接在仪表板中轻松组织和监控产品价格,当产品价格发生变化或重新有货时获取提醒和通知! [直接从 UI 轻松监控产品价格变动](https://changedetection.io?src=github) 设置价格变动通知参数、价格上限和下限、价格变动百分比等。 时刻掌握在售产品降价的信息。 [设置价格上限、下限和百分比变动通知值](https://changedetection.io?src=github) ### 示例用例 - 产品和服务的价格变动 - _缺货通知_ 和 _到货通知_ - 监控和跟踪 PDF 文件变更,了解 PDF 文件何时发生文本变化。 - 政府部门更新(变更通常仅在其网站上发布) - 新软件发布、安全公告(当您不在其邮件列表中时) - 节日活动变更 - Discogs 补货提醒和监控 - 房地产房源变更 - 了解您最喜爱的威士忌何时打折,或其他任何人之前公布的特别优惠 - 来自政府网站的 COVID 相关新闻 - 来自大学/机构网站的新闻 - 检测和监控 JSON API 响应中的变化 - JSON API 监控和警报 - 法律及其他文件的变更 - 当网站上出现文本时通过通知触发 API 调用 - 使用 JSON 过滤器和 JSON 通知粘合 API - 基于网页内容变更创建 RSS 源 - 监控 HTML 源代码的意外变更,加强您的 PCI 合规性 - 您有一个非常敏感的 URL 监控列表,并且_不_想使用付费替代方案。(请记住,_您_就是产品) - 当特定关键词出现在 Twitter 搜索结果中时获得通知 - 主动搜索工作,当公司更新其招聘页面时获得通知,在招聘门户网站中搜索关键词。 - 当 Bamboo HR 和其他招聘平台上有新职位空缺时获得提醒 - 网站篡改监控 - 宝可梦卡牌补货追踪器 / 宝可梦 TCG 追踪器 - RegTech - 走在监管变化的前沿,保持监管合规 _需要支持 JavaScript 的实际 Chrome 运行器?我们支持通过 WebDriver 和 Playwright 进行抓取!_ #### 核心功能 - 大量触发过滤器,例如“触发文本”、“按选择器移除文本”、“忽略文本”、“提取文本”,还支持正则表达式! - 使用 xPath 1 和 xPath 2、CSS Selectors 定位元素,轻松使用 JSONPath 或 jq 监控复杂的 JSON - 在快速非 JS 和基于 Chrome JS 的“fetchers”之间切换 - 跟踪 PDF 文件中的变更(监控 PDF 中的文本变更,同时监控 PDF 文件大小和校验和) - 轻松指定检查站点的频率 - 在提取文本之前执行 JS(适用于登录,请参阅 UI 中的示例!) - 覆盖请求头,指定 `POST` 或 `GET` 及其他方法 - 使用“Visual Selector”帮助定位特定元素 - 可配置的[每个监控任务的代理](https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration) - 当检测到网页变更时,随通知发送截图 ### 条件性网页变更 轻松[配置条件操作](https://changedetection.io/tutorial/conditional-actions-web-page-changes),例如,仅当价格高于或低于预设金额时触发,或者[当网页包含(或不包含)某个关键词时](https://changedetection.io/tutorial/how-monitor-keywords-any-website) Conditional web page changes ### 在任何时区安排网页监控,按星期几和时间限制。 轻松设置重新检查计划,例如您可以将网页变更检测限制为仅在工作时间运行。 或者基于国外时区(例如,您想在上午 09:00 查看某个国家的最新新闻标题), How to monitor web page changes according to a schedule 包含快捷按钮,可快速设置**仅工作时间**或**周末**的计划。 ### 我们有 Chrome 扩展程序! 轻松将当前网页添加到您的 changedetection.io 工具中,只需安装扩展程序并点击“Sync”将其连接到您现有的 changedetection.io 安装。 [用于轻松将当前网页添加到变更检测的 Chrome 扩展程序。](https://chromewebstore.google.com/detail/changedetectionio-website/kefcfmgmlhmankjmnbijimhofdjekbop) [前往 Chrome 网上应用店下载扩展程序。](https://chromewebstore.google.com/detail/changedetectionio-website/kefcfmgmlhmankjmnbijimhofdjekbop) (或查看 [GitHub 仓库](https://github.com/dgtlmoon/changedetection.io-browser-extension)) ## 安装 ### Docker 使用 Docker composer,只需克隆此仓库并.. ``` $ docker compose up -d ``` Docker 单机版 ``` $ docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io ``` `:latest` 标签是我们最新的稳定版本,`:dev` 标签是我们处于前沿的 `master` 分支。 位于 ghcr 的替代 docker 仓库 - [ghcr.io/dgtlmoon/changedetection.io](https://ghcr.io/dgtlmoon/changedetection.io) ### Windows 请参阅 wiki 中的安装说明 https://github.com/dgtlmoon/changedetection.io/wiki/Microsoft-Windows ### Python Pip 查看我们的 pypi 页面 https://pypi.org/project/changedetection.io/ ``` $ pip3 install changedetection.io $ changedetection.io -d /path/to/empty/data/dir -p 5000 ``` 然后访问 http://127.0.0.1:5000 ,您现在应该可以访问 UI 了。 _现已支持按站点配置使用快速的内置 HTTP fetcher 或使用基于 Chrome 的 fetcher 来监控 JavaScript 网站!_ ## 更新 changedetection.io ### Docker ``` docker pull dgtlmoon/changedetection.io docker kill $(docker ps -a -f name=changedetection.io -q) docker rm $(docker ps -a -f name=changedetection.io -q) docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io ``` ### docker compose ``` docker compose pull && docker compose up -d ``` 请参阅 wiki 获取更多信息 https://github.com/dgtlmoon/changedetection.io/wiki ## 不同的浏览器视口大小(移动端、桌面端等) 如果您使用推荐的 `sockpuppetbrowser`(在 docker-compose.yml 中作为待取消注释的设置),您可以轻松为您的网页变更检测设置不同的视口大小,[在此处查看有关设置不同视口大小的更多信息](https://github.com/dgtlmoon/sockpuppetbrowser?tab=readme-ov-file#setting-viewport-size)。 ## 过滤器 内置 XPath(1.0)、JSONPath、jq 和 CSS 支持!您可以根据需要精确定位,使用从各种 XPath 元素查询创建工具导出的 XPath。 (我们支持 LXML `re:test`、`re:match` 和 `re:replace`。) ## 通知 ChangeDetection.io 支持大量通知方式(包括电子邮件、office365、自定义 API 等),当检测到网页变更时进行通知,这得益于 apprise 库。 只需在该监控任务的 _[edit]_ 标签页中设置一个或多个通知 URL。 仅举几例 ``` discord://webhook_id/webhook_token flock://app_token/g:channel_id gitter://token/room gchat://workspace/key/token msteams://TokenA/TokenB/TokenC/ o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail rocket://user:password@hostname/#Channel mailto://user:pass@example.com?to=receivingAddress@example.com json://someserver.com/custom-api syslog:// ``` 以及此列表中的所有其他内容! Self-hosted web page change monitoring notifications 现在您还可以自定义通知内容,并使用 Jinja2 模板 来设置标题和正文! ## JSON API 监控 通过使用 JSONPath 或 jq 过滤、解析和重构 JSON,检测变更并监控 JSON API 中的数据。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/8f17054690002603.png) 这将重新解析 JSON 并对文本应用格式化,使监控和检测 JSON API 结果中的变更变得超级简单。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/177c7c3af9002604.png) ### JSONPath 还是 jq? 对于更复杂的 JSON 数据解析、过滤和修改,推荐使用 jq,因为它具有内置的运算符和函数。有关 jq 的更具体信息,请参阅[文档](https://stedolan.github.io/jq/manual/)。 `jq` 的一大优势是您可以在 JSON 过滤器中使用逻辑,例如仅显示值大于/小于等的过滤器。 请参阅 wiki https://github.com/dgtlmoon/changedetection.io/wiki/JSON-Selector-Filter-help 获取更多信息和示例 ### 解析嵌入在 HTML 中的 JSON! 当您启用 `json:` 或 `jq:` 过滤器时,您甚至可以自动提取和解析 HTML 页面内嵌入的 JSON!这对于基于 JSON 构建内容的网站(例如许多电子商务网站)非常方便。 ``` ... ``` `json:$..price` 或 `jq:..price` 将给出 `3949.99`,或者您可以提取整个结构(使用 JSONpath 测试网站进行验证) 应用程序还支持通知您它可以自动跟踪此信息 ## 代理配置 请参阅 wiki https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration ,我们也支持在可能的情况下使用 [Bright Data 代理服务](https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#brightdata-proxy-support)和 [Oxylabs](https://oxylabs.go2cloud.org/SH2d) 代理服务。 ## 支持 Raspberry Pi? 支持 Raspberry Pi 和 linux/arm/v6 linux/arm/v7 arm64 设备!请参阅 wiki 了解[详情](https://github.com/dgtlmoon/changedetection.io/wiki/Fetching-pages-with-WebDriver) ## 导入支持 轻松[导入 Excel .xslx 文件格式的网站变更监控列表](https://changedetection.io/tutorial/how-import-your-website-change-detection-lists-excel),或粘贴网站 URL 纯文本列表。 推荐使用 Excel 导入 - 这样您可以更好地组织标签/网站组和其他功能。 ## API 支持 用于编程管理监控、标签、通知等的完整 REST API。 - **[交互式 API 文档](https://changedetection.io/docs/api_v1/index.html)** - 包含实时测试的完整 API 参考 - **[OpenAPI 规范](docs/api-spec.yaml)** - 为任何编程语言生成 SDK ## 商业支持 我提供商业支持,该软件被网络安全、航空航天、数据科学和数据新闻专业人士等所依赖,如有任何询问,请联系 dgtlmoon@gmail.com,我非常乐意与您的组织合作,进一步拓展 changedetection.io 的可能性。 ## 商业许可 如果您将本软件部分或全部作为任何商业安排的一部分进行转售,您必须遵守我们代码仓库中的 COMMERCIAL_LICENCE.md,请联系 dgtlmoon@gmail.com 和 contactchangedetection.io。 ## 第三方许可证 changedetectionio.html_tools.elementpath_tostring: Copyright (c), 2018-2021, SISSA (Scuola Internazionale Superiore di Studi Avanzati), 根据 [MIT 许可证](https://github.com/sissaschool/elementpath/blob/master/LICENSE)授权 ## 贡献者 感谢项目的出色贡献者 - Constantin Hong https://github.com/Constantin1489
标签:BeEF, Discord机器人, Docker, Playwright, RPA, SaaS, Slack集成, Telegram通知, Webhook, 价格追踪, 力导向图, 变化检测, 可视化选择器, 安全防御评估, 密码管理, 库存提醒, 开源, 无头浏览器, 爬虫, 特征检测, 网站变更监控, 网站篡改检测, 网络测绘, 网页内容检测, 自动化通知, 自托管, 请求拦截, 运维监控, 逆向工具, 邮件报警