挖掘 macOS 词典文件的方法

发布于 2022-11-16 14:46:23

在 macOS 已经启用了一个或者若干个词典的情况下:

首先查看 /System/Library/AssetsV2/com_apple_MobileAsset_DictionaryServices_dictionaryOSX/ 这个目录,里面以一连串数字开头、以 .asset 结尾的目录,就是词典文件。一个 .asset 目录对应一个文件。你的词典 app 里面开启了几种词典,这里就有几个目录。比如我有三个词典,因此有三个 .asset 目录。

再看目录下面的 AssetData ,里面写着词典的名字,比如我准备研究 Simplified Chinese – Japanese.dictionary

继续看词典下面的 Contents/Resources/,有个写着 Body.data 的文件,这就是词典的数据文件。是二进制文件,不能直接打开。

这时需要使用 github 上的 apple-dictionary 这个工具来解析词典 Body.data 文件,命令是:

./dedict ./Body.data | ./strip | ./checkxml.py > dictionary.xml

此时在当前目录下面生成一个 dictionary.xml 文件。然后就可以用自己喜欢的编程语言解析这个 XML 文件了。

Questioner
springwood
Viewed
0
5 个回答
acoldfox 2022-11-17 15:33:20
不错,最近在研究辞典提取
flyingdog 2022-11-17 15:41:00
为什么不直接用网易云的词典 API 呢?
Vesper 2022-11-17 23:24:42
不錯,感謝分享。
springwood 2022-11-18 10:11:31
@flyingdog 自带的词典好用多了
flyingdog 2022-11-19 13:44:05
@springwood 这样啊。但是网易的,可以有读音啊,自带的词典只能查意思。
问一下啊,你拿到这个 xml 文件之后,你准备进行一些开发吗?比如说自动查词或者或者建生词库吗?