https://github.com/mozhiingithub/lol-live-reminder
一个简易的LOL赛事直播提醒程序
https://github.com/mozhiingithub/lol-live-reminder
go golang live lol regexp
Last synced: about 1 year ago
JSON representation
一个简易的LOL赛事直播提醒程序
- Host: GitHub
- URL: https://github.com/mozhiingithub/lol-live-reminder
- Owner: mozhiingithub
- Created: 2020-04-06T09:43:00.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-06T10:18:04.000Z (about 6 years ago)
- Last Synced: 2025-01-23T01:13:48.986Z (over 1 year ago)
- Topics: go, golang, live, lol, regexp
- Language: Go
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# lol-live-reminder
lol-live-reminder是一个简易的LOL赛事直播提醒程序,适用于采用“顺延开赛”安排的联赛(如2020年LPL春季赛线上赛)。
## 缘由
2020年LPL春季赛采用“顺延开赛”的赛程安排,导致每天的非首场赛事,其开赛时间会因前面比赛时长而存在变数。
最典型的例子:4月3日,原定于5点进行的IG vs V5,因前一场EDG vs DMO过早结束,进而导致第二场比赛于3点47分开打。5点左右,第二场比赛结束。解说米勒在[微博](https://weibo.com/3202111700/IBCVd9dk2?from=page_1005053202111700_profile&wvr=6&mod=weibotime&type=comment)上调侃:“五点比赛,定了个闹钟,咋就直接采访shy哥了”。
为了避免这种错过直播的尴尬,我写了一个简易的提醒程序。当然,包括LPL赛事官网在内的一众机构、媒体或直播平台,都有自己的直播提醒功能,我只不过是基于自己的理解,实现一个而已。
## 原理
“顺延开赛”模式下,提醒指定比赛开赛,等价于判断上一场比赛是否已经结束。一般的电竞媒体都会在其官网,提供赛程进展和赛后数据,自然包括了某场比赛的状态。这里我选用了[玩加电竞](https://m.wanplus.com/lol/schedule)。某场比赛结束后,其对应的赛后数据界面,会显示“已结束”字样。因此,提醒某一场比赛开赛,等价于查看其上一场比赛的赛后数据界面是否出现了“已结束”字样。
lol-live-reminder本质上是一个用golang实现的定时爬虫。默认情况下,程序会以15分钟一次的频率,爬取指定比赛的上一场的赛后数据网页源码,并判断源码中是否出现了“已结束”字样。判断上一场比赛结束后,程序会执行系统命令,弹出一个载有提醒字样的文本,以提醒用户收看赛事直播。
## 使用
前往[玩加电竞](https://m.wanplus.com/lol/schedule)的赛程页,点击想提醒的比赛数据界面,复制网页链接。转至本程序所在目录,执行命令:
```
go run reminder.go -l https://m.wanplus.com/schedule/XXXXX.html
```
程序接受两个参数:```l```为指定比赛网址,必填;```i```为时间间隔,单位为分,选填,未指定的情况下,爬虫的时间间隔为15分钟。
程序支持linux和windows两个平台,运行时会自动判断所在系统,选择相应的方式打开提醒文本。