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

长风化羽 2022-10-19

1304 0

今天介绍下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酱发来的消息:

设置rss监控

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

7、设置域名访问

直接看图:

8、最后

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

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

 

 

 

文章出处:CNBoy 四海部落,刀云转载
签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回