介绍

由于在塞尔达传说:荒野之息发售的一个月内,网上充满了赞美之声,甚至有网友评论其为“塞尔达传说:荒野狂吹”。而我也未能经住诱惑,下单购买。

由于游戏没有中文,日文又看不懂,只能硬啃英文。在等待主机与游戏的日子里,思考了一下,英文版中单词一定相当多,还是要在游戏到之前能多背一些相关的单词,减少玩游戏时的顿挫感。

由于平时使用扇贝背单词,于是就萌生了创建一个扇贝单词书来背单词的想法。

制作方法

来源

已经有玩家维护游戏 wiki Zelda Wiki,里面的资料相当全面,决定直接使用其内容作为单词来源。

然而并没有使用爬虫处理,实际上只有 5 个页面,手动将其复制粘贴保存到文本文件进行后续处理即可。

扇贝分析

  1. 进入创建单词书页面,新建一本单词书,然后开启浏览器的调试工具,进行抓包。

  2. 手动添加一个新单词,查看触发的 API 以及对应的返回。

  3. 右键点击请求将其保存为 curl 命令,然后进行尝试。

编写

  1. 使用 Python 编写处理单词来源,将所有单词去重后输出到统一的一个文件。

  2. 刚开始时直接将单词提交到一个单词本下的单元内,结果发现报错,将错误信息转译后发现是 词串中单词数量超过上限,无法添加单词,原来是每个单元最多只能有 200 个单词。

  3. 根据 200 个单词上限,进行额外处理,单元中每满 200 个单词时创建新单元,然后将单词传到新单元中。

  4. 最开始是使用 python 直接调用 curl 命令,但由于需要处理请求的返回值,换用了 python 的 requests 库来解决问题。

问题

  1. 由于扇贝会限制 API 调用次数,建议在测试时为每个请求添加额外的等待时间,防止短时间内请求过多被 Ban。

结果

扇贝

单词书: 塞尔达传说:荒野之息

单词书于2017年4月9日上传到扇贝,2017年4月12日审核通过。此单词书单价为 199 贝壳。

从2017年4月12日到2018年2月4日,共收入 270000 贝壳,大约 1356 人购买过。

1 分钱可以兑换 1 贝壳,大概在有生之年内不用充值扇贝来购买扩展包之类的东西了。扩展包一年大概 ¥75 左右。

GitHub

networm/ShanbayWordbookMaker