Python 脚本配合 GitHub Actions 实现定时把 Steam 账号愿望单上的发售日做成公开的 ICS 文件,然后就可以被各个日历 App 通过 URL 订阅了(也可以一次性地导入)。据我所知 Google Calendar ,Apple Calendar ,Outlook ,滴答清单等都支持 URL 订阅,只是同步速度有快有慢。
这是 Google Calendar 的效果图,每个事件内会有游戏的商店链接:
GitHub: https://github.com/icue/SteamWishlistCalendar
使用说明(不在此赘述): https://github.com/icue/SteamWishlistCalendar/wiki/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E
唯一需要注意的地方是 yml 文件里存的是我自己的 Steam ID ,拿来用的话需要改一下。
写这个脚本的时候还顺带用 matplotlib 根据历史数据画了统计图(当然,只有用这个脚本跑过的那些天会有数据,所以第一次跑的话 x 轴上只会有一个日期,不过也可以手动捏造之前的数据):
脚本会遇到各种格式、各种书写习惯的发售日,我选用的一个叫 dateparser 的包挺强大的,中文也好英文也好,许多日期都能被正确地识别;而对于一些模糊的发售日,我制定了一些规则,试着把它们转为某一个确定的、相对合理的日期。比如 Early 2022 会被替换成 2022 年 3 月; Summer 会被替换成 6 月; Q4 会被替换成 11 月,等等。然后将 dateparser 设置为“偏向未来”,就能把只说明月份未说明哪天的日期一律视为月底。
也有一些“黑名单”字段,一旦遇到就跳过,比如“TBD”,“When it's done”等。
另外,在这里使用版本管理的另一个好处是,可以通过 GitHub action 的 commit 记录来观察哪些游戏(悄悄地)更改了发售日期。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.