群晖Docker,走起! 篇十六:群晖搭建changedetection,监听网页内容,提醒降价、秒杀

2024-01-23 09:42:19 37点赞 380收藏 27评论

有的时候需要监听网页内容的变化,比如发了一个新帖,排行榜更新,或者库存更新,但是网站肯定是不会提供API接口给你免费调用的,怎么办?那就需要一个工具定时访问网页内容,一旦发现内容和上次不一致,那就证明网页内容有了更改。今天介绍的开源工具changedetection就可以很简单的帮我们实现这个功能

安装

打开群晖Container Manager,搜索changedetection,点击dgtlmoon/changedetection.io镜像,选择最新版本进行下载

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

在等待下载过程中,先创建好 changedetection 数据存放的目录

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

回到Container Manager套件,运行刚刚下载好的changedetection镜像。常规设置可以按需修改。高级设置下的端口映射不能直接设置为5000端口,因为群晖默认已经占用了5000端口,所以这里设置为12500

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

存储空间设置,需要把容器的/datastore文件夹映射为前面新建文件夹,这样才不会在容器升级的时候丢失数据

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

往下找到环境,如果LOGGER_LEVEL为空是无法运行容器的,这里直接点击减号去掉

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

其他设置不用更改,直接运行容器。现在用浏览器打开【群晖IP:12500】就能看到changedetection的主界面了

反代配置

如果需要在公网进行访问,建议配置反向代理并设置SSL证书,不要直接使用端口访问。下面演示两种反代配置方式

群晖反代

可以直接在控制面板->登录门户->高级菜单下设置反向代理服务器

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

Nginx Proxy Manager

如果搭建了Nginx Proxy Manager,则可以点击Add Proxy Host按钮新增一个反向代理配置。个人也建议使用这样的方式,这样就不用在路由器上打开很多端口,不安全也不方便

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

SSL选项下启用SSL证书

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

初步使用

打开主界面后,直接输入想要监听的网页,点击Watch按钮即可

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

添加完毕后,可以在下面的表格中看到已经添加的监听任务。最新检查网页的时间为13秒前,网页的最新一次改变为14秒前

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

点击最右侧的Diff按钮,就能看到变化的状态,红色的为前一个状态,绿色的为当前状态

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

点击Edit按钮,则可以编辑当前的任务。在Time Between Check中可以设置任务的运行间隔,下图就代表每3小时去请求刚刚的网页链接,并检查网页内容变化

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

可以在Notifications选项下配置通知方式,比如发送QQ邮箱,在输入框中输入mailto://{user}:{password}@qq.com即可,配置完成后,可以点击下面的Send test notification进行通知测试。更多的通知方式可以参考https://github.com/dgtlmoon/changedetection.io/wiki/Notification-configuration-notes官方文档

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

这里的配置都是针对当前任务的,如果要统一进行配置,可以点击右上角的SETTINGS,进行全局配置。如果对任务进行了分组,那么也可以点击前面的GROUPS,对不同的组进行配置

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

高级用法

看到这里,很多细心的小伙伴就发现问题了,changedetection这样检测整个页面的变化,是根本没有什么应用场景的。如果调用API接口直接返回数据还好,直接通知就完事了,如果要检测网页中的某个元素的变化要怎么办呢?

那就需要WebDriver了,WebDriver可以简单理解为浏览器驱动器,通过代码调用就可以模拟真实用户打开浏览器上网的操作,可以方便的获取网页的任何一个元素

如果要在changedetection上使用WebDriver,需要一个新的容器standalone-chrome-debugchangedetection是通过群晖Container Manager进行安装的,所以接下来同样演示在Container Manager中进行安装

在注册表中搜索standalone-chrome-debug进行下载

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

下载完毕后启动容器,把容器名称改为selenium,再点击下一步

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

端口设置中,容器端口映射为群晖的4444,去掉5900端口映射

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

下拉到环境变量配置,去掉NODE_APPLICATION_NAME环境变量。其他配置默认不变,直接运行容器

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

现在找到最开始启动的changedetection容器,把它停止

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

在容器的设置选项下进行编辑容器。找到环境,新增环境变量WEBDRIVER_URL,值为http://selenium:4444/wd/hub

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

下拉到最底部,新增一个链接,把selenium容器链接进来。然后点击右下角的保存,最后再启动容器

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

重新打开changedetection网页,现在就可以编辑网页任务,并在Request下开启WebDriver

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

现在来演示监听https://www.bjtime.org.cn/网站下的分钟的变化

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

changedetection主页面添加监听URL,设置监听间隔为1分钟

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

勾选WebDriver

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

用浏览器打开https://www.bjtime.org.cn/网站,点击键盘F12进入开发者模式(谷歌浏览器),点击工具栏左侧的箭头

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

再点击网页的内容,就可以定位到当前鼠标所指的页面元素了(工具栏左侧的箭头要蓝色才可以选择)

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

现在复制分钟所在的XPath路径,选中分钟后,点击右键进行复制

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

粘贴到Filters下的输入框中,最后点击保存

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

回到主页就可以看到监听任务了,点击Diff可以对历史状态进行对比

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

选择一个开始时间,再选择一个结束时间,点击右侧的Go,就可以看到开始时间到结束时间的内容变化,这里就是从39变为了40

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

如果设置了通知,状态改变的时候也会把历史状态和当前状态推送给你

群晖搭建changedetection,监听网页内容,提醒降价、秒杀

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4099元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

Synology 群晖 DS223J家用网络存储服务器nas私有云

Synology 群晖 DS223J家用网络存储服务器nas私有云

1549元起

Synology 群晖 DS124 四核心 单盘位 NAS网络存储 私有云 智能相册 文件自动存储

Synology 群晖 DS124 四核心 单盘位 NAS网络存储 私有云 智能相册 文件自动存储

1399元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

暂无报价

群晖(Synology)群晖(Synology)DS224+搭配2块希捷(Seagate) 4TB酷狼IronWolf ST4000VN006硬盘套装

群晖(Synology)群晖(Synology)DS224+搭配2块希捷(Seagate) 4TB酷狼IronWolf ST4000VN006硬盘套装

暂无报价

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

文中相关商品

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)
Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)
27评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
380
扫一下,分享更方便,购买更轻松