让 osu! 曲包自己告诉我「更新了」:一个 RSS 思路

作者:

在

视频:两分钟看 OSU! 曲包如何「自动更新」,1 分 58 秒,1,158 播放。

简介原话:「rss 订阅自动追踪官网的更新。随便捣鼓了一下,技术含量比较低,但是感觉很实用!本方法个人已经用了很久很久」

问题:曲包更新没有通知

osu! 的 beatmap pack 是官方整理的合集,一个包几十张图,按主题或时间打包。对我这种补图的人来说它是最省事的路径,不用一张张搜,下载解压丢进 Songs 就完事。

麻烦的地方在于它不通知你。

新曲包什么时候上架,不知道。官网曲包页不会推送,不发邮件,也没有订阅按钮。你只能隔三差五自己去翻一遍,翻的时候还得记住上次看到哪儿了。

我用了很久的办法就是定期去翻。这办法的毛病在于会漏。忙起来两个月没看,回头发现中间上了十几个包,还得一个个对哪些下过。

思路:把「我去查」变成「它来找我」

核心想法很朴素。网页本身没有通知能力,但几乎所有列表型页面都能被转成一种有通知能力的格式,也就是 RSS。

RSS 这玩意老得像上个时代的产物,不过它恰好匹配这个场景。它天然是按更新时间排序的列表,天然带时间戳,所以你能判断哪些是上次看之后新增的。任何阅读器都能给你推送,手机和桌面都行。

于是流程变成:官网页面转成 RSS 源,阅读器发现新条目就推送,点开,下载,丢进 Songs。

关键在第一步,怎么把没有 RSS 的页面变成 RSS 源。

三种做法

页面监控最简单。很多阅读器自带这功能,给它一个 URL,定期抓取,页面一有变化就当作新条目。缺点是它只告诉你「变了」,不告诉你变了什么,你不知道新增的是哪个包。

RSSHub 最通用。这是个开源项目,专门把没有 RSS 的站点转成 RSS,覆盖面很广,也支持自建。如果 RSSHub 支持你要订阅的页面,那基本就是填个地址的事。我最推荐这条路线,一次配置长期可用。

自建转换最灵活。前两种都不适用的话,自己写个小脚本:定时抓页面,解析出条目列表,跟上次结果做差集,有新增就生成条目或者直接发通知。

「技术含量比较低」这句是实话,本质就是个 diff。但好处是完全可控,监控哪个页面、什么频率、怎么通知,全都自己定。

为什么这思路值得单独写一篇

因为我用它盯的不止曲包。

这条「页面转 RSS 再推送」的链路是通用的。任何不定期更新、没有通知、但我又必须第一时间知道的东西,都能这么接:软件的新版本发布页、某个仓库的 releases、论坛的某个版块、官方公告页,甚至某个商品的价格。

一旦习惯了让更新来找你,就很难回到手动刷新的日子。这也是我在视频简介里写「感觉很实用」的原因,它解决的是一类问题,osu 只是碰巧成为第一个案例。

具体怎么配

两分钟的视频里演示了完整流程,订阅地址、阅读器设置、效果都有。这里只讲思路,因为不同人的阅读器和网络环境差异太大,照抄我的配置不一定能用。

视频在这儿:BV1xL4y1H76p

补两句视频里没讲的

曲包是 .zip,解压之后把里面每个 .osz 拖进游戏窗口就导入了,不用一个个点。

导入大量图之后第一次启动会重新扫描,慢是正常的,别以为卡死了。

曲包里的图会跟你自己下的图去重(同一个 beatmapset ID),不用担心重复占空间。

这套流程跑顺之后,补图这件事基本就从「一项任务」变成了后台自动完成。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注