Rails 使用 Rails 制作了一个任天堂 Switch 价格追踪网站

FinnG · 2022年07月25日 · 最后由 FinnG 回复于 2022年08月09日 · 1807 次阅读

上个月做的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 开发者欢迎提建议

crazyjacky 回复

Hey 谢谢!受了你的 Immigration 站很大启发😁

FinnG 回复

互相学习。我对于 UI/UX 理解很少,所以样式和交互体验做的不好。

crazyjacky 回复

正经的信息网站,做的太花哨反而会让大伙觉得是假的,我感觉你做的就挺好的😄 (有一个小小的建议导航栏按钮.nav-item .active 有 border radius, 但是按钮 hover 的时候非.active 没有圆角,感觉可以加一下)

FinnG 回复

谢谢提醒,回头去改一下。

FinnG 回复

求 Immigration 网站看看,没搜到。

BenX 回复

@crazyjacky 是作者 我帮你 at 他啦

8 楼 已删除

您好 请教下 港服数据都是哪里来的呢? 不太想抓包 https://eshop-prices.com/

GitHub 上这个没港服的数据也 https://gist.github.com/Shy07/822eff655ec8da2717f269bc21c65976

dushandz 回复

https://store.nintendo.com.hk/games/all-released-games?product_list_order=release_date_asc

港服只能找到它官网卖激活码的那种,然后挨个爬,解析 HTML, 找到 CODE.

港服那些其他的在 NS 上可以直接购买的小游戏没有找到好办法,你看我的港服 Store 也是只有 500 多个游戏

FinnG 回复

好的 感谢回复 感觉是免不了爬了···· 查价的 API 倒是可以用

之前也做类似的,但是后来 API 经常变化,就没怎么维护了(

https://github.com/Dounx/NintendoSwitchEShopHelper

https://github.com/Dounx/gwitch

Dounx 回复

是大佬,我当时没有搜到您做的 Gem

我做了 Steam 的和 Nintendo 的,感觉就是 Steam 的各个区很统一,各种 API 也很统一,但 Nintendo 就分了好多好多区,每个区都不一样,还总变,有些是从 HTML 里面找的某个 div id 拿到 CODE 去查询价格,一旦网页改了,查 CODE 的代码就得重写。像港区还有韩国区都不知道怎么弄,美区也是从 Algolia 的数据搜索里面一点点导出来

15 楼 已删除
16 楼 已删除
17 楼 已删除
18 楼 已删除
19 楼 已删除
20 楼 已删除
21 楼 已删除
22 楼 已删除
23 楼 已删除
24 楼 已删除
25 楼 已删除
26 楼 已删除
27 楼 已删除
28 楼 已删除
29 楼 已删除
30 楼 已删除
31 楼 已删除
32 楼 已删除
33 楼 已删除
34 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号