如果你在Steam上发布过游戏,那么你就知道做好数据分析有多么困难。Steamworks通过API暴露的内容非常有限。有些数据可以下载为CSV文件,而其他数据则需要从HTML中挖掘出来。所有数据都分散在两个独立的门户网站上,分别使用不同的登录信息:steamgames用于流量和营销,steampowered用于销售、愿望清单、玩家和玩耍时间。检查游戏的表现需要大量的点击、导出文件和复制数据到电子表格中。
我想要一个系统来快速轻松地下载所有数据,能够将所有数据存储在数据库中并进行分析。
所以我创建了一个工具来实现这一点,完全通过vibe编码(Claude Code)。我开发视频游戏,但我不知道如何构建这样的应用,至少不容易。
它做了什么
它自动登录两家合作伙伴门户网站,处理Steam Guard和2FA:无论是通过手动代码还是TOTP来无人监控服务器。
它收集所有数据到本地数据库:
- 销售:产品/国家的单位和净收入,月度
- 愿望清单:添加、删除和激活,日常
- 营销:来源、所有权、顶级国家的访问和浏览量
- 玩家:日活跃用户和峰值同时在线用户,日常
- 玩耍时间:平均、中位数和生命周期分布
- 评论:文本、评级和语言
- 流量:详细的访问和浏览量,来源,日常
它包括一个Streamlit仪表板,具有一个投资组合概述和每个数据集的一页。
所有收集器都是幂等的:你可以随时再次运行它们,而不会重复数据。
它可以在无人监控的服务器上运行,使用cron、systemd或Task Scheduler,确保数据始终是最新的。
你也可以尝试没有Steam账户的情况。
有一个演示模式,可以生成一个合成的数据集,允许你在配置任何东西之前浏览整个仪表板。
它只收集你自己的数据,从你自己的合作伙伴门户网站:合法使用,合理的速率限制。没有SteamDB-style第三方抓取。
Steam可以在任何时候改变页面布局,所以抓取器偶尔会破裂。健壮性和自我修复层是路线图上的项目。
一个LLM层被计划用于洞察、异常检测、评论情感和自然语言到SQL,但它尚未被实现。目前,你可以将任何AI代理指向数据库来分析数据。
它工作得很好,尽管第一次设置并不是超级容易。 我正在努力改善这一点。
它是开源的,所以你可以对它做任何你想做的事情。但如果你有改进的想法,请告诉我。也许我们可以为大家做得更好。
如果你有任何问题,很高兴回答。
我是否收集了所有数据,还是我漏掉了什么?
你希望如何可视化它?
你希望自动获得哪种类型的分析?
希望这能帮到你。
仓库链接在第一个评论中。
评论 (0)