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

FinnG · July 25, 2022 · Last by Ruhi02 replied at April 22, 2024 · 1581 hits

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

Reply to crazyjacky

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

Reply to FinnG

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

Reply to crazyjacky

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

Reply to FinnG

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

Reply to FinnG

求 Immigration 网站看看,没搜到。

Reply to BenX

@crazyjacky 是作者 我帮你 at 他啦

8 Floor has deleted

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

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

Reply to dushandz

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

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

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

Reply to FinnG

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

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

https://github.com/Dounx/NintendoSwitchEShopHelper

https://github.com/Dounx/gwitch

Reply to Dounx

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

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

You need to Sign in before reply, if you don't have an account, please Sign up first.