V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
springwood
V2EX  ›  Apple

挖掘 macOS 词典文件的方法

  •  
  •   springwood · 2022-11-16 14:46:23 +08:00 · 926 次点击
    这是一个创建于 498 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 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 文件了。

    6 条回复    2022-11-19 15:50:06 +08:00
    acoldfox
        1
    acoldfox  
       2022-11-17 15:33:20 +08:00
    不错,最近在研究辞典提取
    flyingdog
        2
    flyingdog  
       2022-11-17 15:41:00 +08:00
    为什么不直接用网易云的词典 API 呢?
    Vesper
        3
    Vesper  
       2022-11-17 23:24:42 +08:00
    不錯,感謝分享。
    springwood
        4
    springwood  
    OP
       2022-11-18 10:11:31 +08:00
    @flyingdog 自带的词典好用多了
    flyingdog
        5
    flyingdog  
       2022-11-19 13:44:05 +08:00
    @springwood 这样啊。但是网易的,可以有读音啊,自带的词典只能查意思。
    问一下啊,你拿到这个 xml 文件之后,你准备进行一些开发吗?比如说自动查词或者或者建生词库吗?
    springwood
        6
    springwood  
    OP
       2022-11-19 15:50:06 +08:00
    哦,我拿到 xml 之后是做一些统计而已,不是专业搞开发的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1022 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:35 · PVG 03:35 · LAX 12:35 · JFK 15:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.