侧边栏壁纸
博主头像
Linux学习记录博主等级

我们因为好奇而所获得的一切,最终会因为骄傲而全然玷污

  • 累计撰写 45 篇文章
  • 累计创建 13 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

开源网页监控方案WebMonitor:实时监控网页变化,并花式通知提醒

Frank
2021-05-13 / 1 评论 / 0 点赞 / 4 阅读 / 2734 字

前情提要

偶有需求会需要监控某个网页,实时知道新发布的报名考试信息,于是就试了很多工具:Openwebmonitor、WebSite-Watcher、Wachete等等,还要很多稀奇古怪的在线web版,但是无一例外,免费的要么监控间隔超长,比如Wachete,虽然是web版,无需电脑挂机,但是免费版24h只监控一次;Openwebmonitor、WebSite-Watcher免费版可以新建3-5任务,虽然够用,但是都需要电脑长时间挂机,而且Openwebmonitor只能软件通知,邮件、API之类的都是VIP,VIP超贵。

破局

本着生命不息折腾不止的精神,随即反手搜索了一下github,这不,开源项目WebMonitor就来了嘛。

优势:

1、python语言编写,可在我的linux服务器上实现24h运行,不必PC挂机;

2、提醒方式多种多样,邮件、微信、telegram、pushover、slack,还有自定义API调用,超爽有木有!

开始部署

服务器环境:ubuntu-server 20.04.2

步骤真心挺简单的,跟着官方中文文档,几下就搞定:https://github.com/LogicJake/WebMonitor

1、克隆源码到本地:

源(一如既往的慢):

git clone https://github.com/LogicJake/WebMonitor.git cd WebMonitor

镜像:

git clone https://gitee.com/frank619/WebMonitor.git cd WebMonitor

2、下载完成后安装依赖

sudo apt update 
sudo apt install python3-pip 

#更换pip为阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/    

pip3 install -r requirements.txt

3、首次运行需要迁移数据库且设置管理账号,假设账号为 admin,密码为 password,运行端口为 8000:

python3 manage.py migrate python3 manage.py initadmin --username admin --password password python3 manage.py runserver 0.0.0.0:8000 --noreload

非首次运行,只需指定端口:

python3 manage.py runserver 0.0.0.0:8000 --noreload

运行后,登陆网页即可配置监控任务。

PS:为了让服务一直运行,则可以用screen运行:

screen -S "webmonitor" python3 manage.py runserver 0.0.0.0:8000 --noreload

设置监控

1、浏览器登陆8000端口的ip地址;

1-jtec.jpg 这是登陆后的页面;

2-oxwf.jpg 2、首先新增通知方式,我这里用的是自定义API,以实现微信推送,“邮箱地址……”一栏填写你的GET或者POST请求地址即可;(将推送内容替换为{content})

3-wrof.jpg 3、然后新增“网页监控任务”,名称随意,网址就是监控的url,元素选择器通过chrome浏览器F12复制Xpath(后面记得加/text()以实现对文本的监控),通知方式选择你第一步新增的方式,其他默认即可;

4.jpg 4、保存后,程序就按照你配置的频率开始监控,一有风吹草动,就收到通知。

PS:程序还提供有Docker安装方式,此处未做尝试。 此方案部署简单,可以实现24h监控,无需PC挂机,加上花式通知方式,的确是好用,推荐有服务器、VPS、树莓派等的小伙伴使用。

再次鸣谢开源作者LogicJake  

0

评论区