An open API service indexing awesome lists of open source software.

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赛事直播提醒程序

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两个平台,运行时会自动判断所在系统,选择相应的方式打开提醒文本。