正在读取采集状态

Every RegionEvery Price

同一个游戏,国区和其他区差多少钱。把 24 个区的价格全部折成美元,放在同一根尺子上 —— 差 2 倍还是差 8 倍,一眼就看出来。

—
折扣在库
—
覆盖区域
—
区域价格记录
采集限速 3.0 秒 / 次串行采集,宁可慢也不被封SQLite + 进程内缓存前端静态导出0 个区折合美元同比图片直连 Steam CDN采集限速 3.0 秒 / 次串行采集,宁可慢也不被封SQLite + 进程内缓存前端静态导出0 个区折合美元同比图片直连 Steam CDN
Constellation of Regions

24 个区
一根尺子

每个区都是一颗星,半径代表这个区采到了多少条价格。 悬停任意一颗,看它用什么货币、汇率多少、连回国区的那条线意味着什么。

正在加载区域覆盖数据

Three Corridors

三个榜单
One Scroll

向下滚动,下一个世界从下方覆盖上一个 —— 如同连续穿过三道传送门。 三个场景的运动方向分别是 ↓ / · / ↑:折扣在跌、新作刚亮、热度在涨。

01

Abyss of Deals折扣深渊 · 正在下坠的价格

折扣力度最大的一批。价格柱一根根矮下去,越深的谷底折扣越狠 —— 这里按折扣百分比排序,不看销量也不看热度。

按折扣排序国区在售全量扫描
02

New Horizon新游星域 · 刚被点亮的

最近上架、正在发酵的作品。排序口径是在线人数 ÷ 评论数 —— 评的人还不多,但已经在玩了,这才是「正在发酵」的样子。

30 天内上架在线÷评论未发售已排除
03

Furnace of Players热度熔炉 · 正在燃烧的

当前在线人数最高的作品,带指定区价格。只统计最近 48 小时内的采样 —— 三天前很火,那叫「曾经很火」。

实时在线48 小时窗口带区域价格
The Vault

八张卡
四个口径

首页只摆八张。口径由你选 —— 折扣最狠的、折后价最低的、在线最多的、 最新上架的。四个口径各查一次库,每次排出来的都是真实名次, 不是从同一批里挑挑拣拣。

正在加载折扣数据

全量一万九千条在 /deals, 支持分页与同样的四种排序。这里的八张只是入口。

Data Pulse

库里正在
发生什么

每一行都来自最近一次采集的真实记录 —— 谁在打折、谁在涨、谁刚上架。 没有一行是编的,所以这一栏不会有"2 分钟前"这种假装实时的东西。

采集快照

Live Data

还没有采集记录。

在线人数 · 热度榜前五
暂无数据
折扣榜最狠的一档
—
The Engine

视觉可以大胆
底层必须老实

这一页是场景,但支撑它的东西全是硬约束 —— 一台 2 核 1.6G、3Mbps 的机器, 和每天 19:00 到 23:00 必须开着的采集机。

串行采集 · 严格限速 3.0 秒/次

不并发、不上 Scrapy、不上 Selenium。抓得慢是可接受的, 被封 IP 才是灾难 —— 一次封禁意味着整条数据链断掉, 而重建它比重建代码难得多。

多区折合美元同尺比较

24 个区,币种各不相同。先把价格按汇率折成美元,再画到同一根尺子上 —— 否则"₺300"和"¥198"谁便宜,根本没法看。

前端纯静态导出

Next.js 静态导出,服务器只出 JSON 和 HTML,图片一律直连 Steam CDN。 3Mbps 的带宽经不起任何一张被代理的图。

数据新鲜度优先

采集是外部依赖,一定会断。断了要在页面上说出来, 而不是让用户对着一周前的价格做决定 —— 上面那条新鲜度提示就是干这个的。

SQLite + 进程内缓存

2 核 1.6G 的机器上不加 Redis、不加 Postgres。 缓存是进程内字典,数据库是单个文件,备份就是一次 scp。

The Spread

差多少倍
是算出来的

下面每一行都是库里现成的数据:同一款游戏,最便宜的区和最贵的区, 折合美元后相差几倍。锁区、没采集过的区、汇率缺失的区都不参与计算 —— 把它们当 0 会算出一个假的倍数,那比没有结论更糟。

正在计算价差

点任意一行进多区对比,看这款游戏在所有区的完整条形图与热力矩阵。

Final Gate

门是开的
进来就好

不用注册、不用登录。选一款游戏,把 24 个区的价格摆在一起看 —— 这就是这个站存在的全部理由。

无账号体系 · 无会员档位 · 无广告位

Steam 折扣全量扫描0 个区折合美元静态导出 · 3Mbps 可用数据新鲜度公开