- A+
今天介绍下WebMonitor。和Huginn一样支持XPath,而且还可以用微信的Server酱、Telegram、以及邮件来接收通知,所以说用来监控网页变化或者其他是非常方便的。
1、简介
项目:https://github.com/LogicJake/WebMonitor
文档:https://www.logicjake.xyz/WebMonitor/#/install
2、准备
1)宝塔面板
2)docker管理器(这个通过软件商店安装,此处略过~)
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更新
- 数据导入导出
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫