项目地址
SyncYdao-Sbay
如果您能给我一个 star ,或者提一些建议,我将不胜感激。
背景
我在 PC 端使用有道词典进行查词
而在移动端使用扇贝单词进行背单词
所以想到能否做一个自动化脚本,自动化同步有道上的单词到扇贝
项目功能
项目的功能是 每隔一小时 同步 有道词典最新收藏的 10 个单词(个数可以在配置文件中更改)到扇贝单词
当然你也不把他当作一个自动化同步的工具。比如我只想同步 200 个单词,不需要定时同步,那么完全可以不设置定时任务,然后只运行一次。
项目实现
思路
常规思路
- 通过调用有道 API 获取最近收藏的单词
- 然后将这些单词 通过调用扇贝的 API ,将这些单词添加到扇贝的收藏夹中
常规思路的阻碍
- 扇贝单词进行单词的收藏时,使用的不是单词本身,而是 ID (如图)
- 这就引入和一个问题,如何将单词转换为 ID 。
我们发现,我们去请求一个单词时,返回体中会返回一个加密的 Data 。
我们可以发现,在得到这个 Data 之后。我们就检测到了发送单词 ID 的请求
所以我大胆推测通过 Data 可以解析出单词的 ID
- 如何解密?
碰巧的时,我在查找解决方案的时候发现了这个仓库->Decoing
感谢这位作者,让我的想法免于搁浅!!!
真正的解决思路
- 通过调用有道 API 获取最近收藏的单词
- 调用扇贝 API 获得加密的 Data
- 通过调用本地 JS 服务解密 Data ,得到 wordId
- 调用扇贝 API 添加单词