搭建 WebMonitor - 实时监控网页变化

发布时间: 2022-10-04 热度: 3851

今天介绍下WebMonitor。和Huginn一样支持XPath,而且还可以用微信的Server酱、Telegram、以及邮件来接收通知,所以说用来监控网页变化或者其他是非常方便的。

1、简介

项目:https://github.com/LogicJake/WebMonitor

文档:https://www.logicjake.xyz/WebMonitor/#/install

2、准备

1)宝塔面板

2)docker管理器(这个通过软件商店安装,此处略过~)

3)安装docker-compose

复制
pip install docker-compose

如果提示:pip: command not found:解决如下:

复制
wget https://bootstrap.pypa.io/get-pip.py python get-pip.py pip -V  #查看pip版本

接下来就可以随便pip安装东西了~~

3、docker部署

1)新建一个docker-compose.yml

复制
mkdir -p /opt/webmonitor && cd /opt/webmonitor && vi docker-compose.yml

2)写入如下配置代码

复制
version: '3.5'   services:  webmonitor:  image: logicjake/webmonitor  container_name: webmonitor  environment:  - PORT=8000  - USERNAME=admin  - PASSWORD=daniao # 设置你的管理员密码  ports:  - 8000:8000  volumes:  - ./data:/app/db  restart: unless-stopped

3)然后自行docker-compose up -d 起来就部署好了:

复制
docker-compose up -d

4)打开你的<IP:8000>,能访问到如下界面说明一切正常:(如果不能访问,安全中放行8000端口~)

 

注意:默认的账号密码:admin、password

4、手动部署

1)很多人不喜欢docker方式,那么我们可以手动部署。不过前提最好是如下试验代码安装。独立运行环境(py3.7)

复制
curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh

2)下载 WebMonitor 的源码

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

3)下载完成后安装依赖

复制
pip install -r requirements.txt

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

复制
python manage.py migrate python manage.py initadmin --username admin --password password python manage.py runserver 0.0.0.0:8000 --noreload

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

复制
python manage.py runserver 0.0.0.0:8000 --noreload

注意:默认的账号密码:admin、password

5、设置网页监控

1)登录之后,我们首选需要设置通知方式,这里就用以Server酱的微信通知作为演示~

 

2)添加一个监控项目,在任务管理-网页监控管理-添加你的第一个监控。

举例:我这里想监控BUYVM的VPS是否有货,元素选择器类型使用XPath:

 

注意:

  • 任务名称:这里随意,原则上填写需要监控的商品名称~
  • 监控网址:填写监控网址
  • 元素选择器类型:选择Xpath

3)元素选择器的内容可以通过Chrome浏览器F12获得:

 

4)以上保存即可完成监控项目的创建,下面找到任务状态可以看一下你添加的监控项目是否能够正常工作:

 

5)初次添加的监控项目,如果正常的话你的微信也应该能够收到Server酱发来的消息:

 

6、设置rss监控

设置方式和网页监控相似,这里就截一张图来表示了。

 

7、设置域名访问

直接看图:

 

8、最后

监控网页内容变化非常好用,安装方式也非常简单,有这方面需求的童鞋,可以用起来看看。具体特性如下:

  • 支持requests请求网页,支持使用PhantomJS抓取异步加载的网页
  • 支持 xpath 和 css selector 选择器,支持 JsonPath 提取 json 数据
  • 支持邮件,pushover 和微信提醒(support by server酱)
  • 简洁的UI,可视化操作
  • 支持自定义请求头,抓取需要登录的网页
  • 支持设置监控规则
  • 监控RSS更新
  • 数据导入导出

请在下方留下您的评论. 加入TG吹水群