上个月做的Steam 价格追踪, 这次又花了几周的时间把 Switch 的价格追踪也做了.
相较于 Steam 的折扣追踪, Switch 这边用了Shrine
做的文件存储 (主要是游戏主图的 variants) 和图片处理, 相较于 Active Storage, Shrine 更灵活, 更可定制, 比如可以做出像/ns_apps/1/image/small-w320.webp
这种漂亮的文件 URL.
用了pagy
做分页, 比之前的 Kaminari 快了, 尤其是没有多次查 COUNT.
任天堂的区分的比较散, 不像 Steam 那种可以有直接的 API, 需要 nokogiri 简单爬/解析一下内容, 提取出 CODE 之后才能 API 查价, 写爬虫和各个市场区交叉索引比较让人崩溃.
由于网站内容比较简单, 几乎没有写任何 JS, 即是是单个游戏的历史价格折线图, 也是用了chartkick
gem, 如果没理解错, 它里面实际上包了一个chart.js
.
网址在这 , 还欠缺许多功能比如愿望单和打折提醒之类的, 喜欢打游戏的 Rails 开发者欢迎提建议