zoukankan      html  css  js  c++  java
  • mac下导出kindle单词本的单词

    平常都是用kindle来看电子书,偶尔也会看上一些英文书籍,不可避免的会遇到不少陌生的单词,而kindle专门针对这种需求,做了不少优化,可以直接在kindle上面查阅单词,甚至可以背单词。但是毕竟不是专门的英语学习工具,在复习陌生单词方面还是不够专业(例如不能发音是个硬伤),就想着导出单词到别的软件上复习。

    而在mac下苦于不能直接用kindle mate这款软件(我一次都没有用过这个软件,只是看到网上评论和使用比较多),我也懒得去在windows虚拟机上面间接使用。一顿搜索之下,发现在mac下并没有直接导出kindle单词本的软件可提供使用。

    经过一番思考,既然有第三方软件能够支持读取单词本这种功能,必然是存在方法在kindle上去获取单词本的数据。

    直接将kindle通过usb链接到手机上,你会发现挂载了一个documents的文件夹,我在这个文件夹找了一圈,愣是没有找到。想着会不会有什么隐藏文件夹呢?
    kindle-words-mount

    通过cd进入kindle的挂载盘,我发现除了documents文件夹外,还有一个叫做system的文件夹。顿时感觉有戏。层层递进,不负众望,在/Volumes/Kindle/system/vocabulary目录下,找到了vocab.db这个文件。

    kindle-words-ls

    vocab.db是一个sqlite文件,如果你没有打开sqlite文件的软件可以下载一个SqliteBrowser

    SqliteBrowser是开源免费的Sqlite数据库文件查看软件

    通过SqliteBrowser可以直接看到到vocab.db的数据库下面的表
    kindle-words-table

    SqliteBrowser软件的Browse Data栏下,通过查看数据发现了两个有实际意义的数据表
    kindle-words-table-words

    kindle-words-table-lookups

    其中LOOKUPS表里面就是对应的你在那本书那块地方查询的这个单词的相关记录(在kindle里面背单词可以看得到相关的数据)。
    WORDS表就是我们单词本里面的所有单词数据了。

    到这里,也宣告正式找到了kindle单词本的数据所在了。既然知道了数据在哪里了,剩下的导出就简单的多了,我只需要单词的txt文本,以便导入别的背单词软件,虽然可以通过软件直接导出,不过这种方式的复用性不够强。(考虑到导出单词是一个周期性的工作)

    平时软件开发过程中,其实都已经安装好了sqlite3这个库,可以直接考虑用命令行来实现这个工作流程。

    cp /Volumes/Kindle/system/vocabulary/vocab.db ~/
    sqlite3 ~/vocab.db  "select word from words;" >> kindlewords.txt
    

    将这两行shell命令保存成sh文件,这样我将kindle插入电脑的时候直接运行一下命令就可以直接得到我所需要的txt文件了,既简单又优雅。

    后续考虑将整个流程自动化,从拷贝单词本到导入单词到相关的软件中。

  • 相关阅读:
    状态图(Statechart Diagram)—UML图(五) .
    时序图(Sequence Diagram)—UML图(六)
    传说中的WCF(8):玩转消息协定
    SCSF 系列:利用 Smart Client Software Factory 实现 StopLight (Step By Step)
    ASP.NET MVC 3.0(四): 我要MVC潜规则之配置Routing
    传说中的WCF(14):WCF也可以做聊天程序
    部署图(Deployment Diagram)—UML图(九)
    活动图(Activity Diagram)—UML图(四)
    今天做的机试题Socket聊天程序
    UML的基本结构 .
  • 原文地址:https://www.cnblogs.com/coffeedeveloper/p/export-kindle-words-on-mac.html
Copyright © 2011-2022 走看看