Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

SaulLawliet/watchdog

Repository files navigation

Watchdog

IF (网页某区域有变化) THEN (提醒你)

编写规则

配置文件放在fetchers目录下

Ruby 脚本监控

文件名以.rb结尾, 实现方式是定义一个函数, 函数内容是该脚本, 支持传递配置参数.

已有规则:

fetcher 描述 参数
bilibili-up B站UP主, 当前粉丝数, 获赞数等 up主ID
epic-free-games Epic 每周免费游戏, UTC 时间每周四15点更新 -
steam-free-games (失效)Steam 免费游戏, 数据来源 steamdb.info, 依赖 tools/cloudflare-scrape.py -
wanwang-price 万网域名续费价格监控 具体域名的产品ID
xueqiu-fund 基金收益提醒, 数据来源: xueqiu.com 编号、本金、份额

CSS Selectors 监控

文件名以.yaml结尾.

# file: fetchers/ituring.yaml
name: "图灵社区 - 每周特价"                        # 邮件标题(%s表示通配符)
url: "https://www.ituring.com.cn/tag/36527"     # 抓取的页面(%s表示通配符)
css_selectors: ".book-img"                      # 抓取的节点

对于 css_selectors 如何食用, 请搭配 SelectorGadget.

已有规则:

fetcher 描述
ituring 图灵社区, 每周特价电子书
smzdm 什么值得买, 首页热门
smzdm-fenlei-x 什么值得买, 分类
smzdm-post-x 什么值得买, 用户发文
smzdm-tag-x 什么值得买, 标签关键字
smzdm-youhui-x 什么值得买, 商品关键字

修改配置 (config.yaml)

发送者

暂时只支持邮件发送, 配置的模板已经写好, 需要修改的部分已经已经用TODO做了标记

注意: 单元测试默认开启了测试邮件发送, 如已测试通过, 请修改test_sender的值为false, 不然每次启动都会发送一次测试邮件.

其他

具体请看config.yaml, 可配置项包括代理配置, 用户配置, 订阅规则.

获取并运行

git clone https://github.com/SaulLawliet/watchdog.git
cd watchdog

# 初始化环境
bin/setup

# 单元测试
rake spec

# 后台运行服务(内部会运行单元测试)
bin/watchdog &

# 进入 irb 命令行
bin/console

邮件截图

About

IF (接口/网页 有变化) THEN (提醒你)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published