掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 4117|回复: 11

[工具] AppleDict2XML

[复制链接]

该用户从未签到

发表于 2015-8-19 18:27:17 | 显示全部楼层 |阅读模式
本帖最后由 qunwang6 于 2015-8-19 22:56 编辑
6 d. G4 w4 v5 |6 E% Q- V) h. Q6 |; c; O0 ]9 P" u
References:: C: E6 R5 d7 }8 `* j
Reverse engineering Apple Dictionaries5 T- L6 I  R8 |
Apple dictionaries( k& p; y6 A: W: N( n
usage:
+ q3 c, {7 L/ \( H
  1. $ clang dedict.c -Wall -lz -o dedict: A, G! {4 d$ U9 `' c' x1 q
  2. $ clang strip.c -Wall -o strip5 j2 j5 i1 [3 u3 g: e( u
  3. $ ./dedict "Oxford Dictionary of English" | ./strip > dict.xml
    , M$ v" D( s/ b3 l& W+ j# Y
  4. $ egrep -o 'd:title="(.+?)"' dict.xml | awk -F" '{print $2}' > words
复制代码
+ x/ [5 c' f$ @) x- ^' a# p
需要注意的是* p. w8 q2 v- g+ q) S" e
1.
# j4 k7 W% B0 Z0 E% ?原始代码是默认转换/Library/Dictionaries/里的词典,若要转换自定义路径的词典,可将以下代码
" _  h9 a. K. U9 d7 C! Phttps://gist.github.com/josephg/ ... d#file-dedict-c-L86
  k4 m+ Z' t' M1 J# ]修改为; L# G( {7 I% ?* e
  1. sprintf(filename,"%sContents/Body.data",argv[1]);
复制代码
* f% K- {) ~: n& [! g4 M
2.. i4 M, _2 H/ g4 {8 f# u2 D
OS X 10.11系统内置词典里面的文件目录发生了变化,需要改以下代码就可以用了。
5 z1 Y' n$ V% k/ \3 M7 P- V+ [) b& g要修改的代码
  ?3 l1 F$ A- `https://gist.github.com/josephg/ ... d#file-dedict-c-L86
5 z6 S3 Y- ?9 Z( ~修改为# p( i9 ^1 `0 P, {0 V- J
  1. sprintf(filename,"%sContents/Resources/Body.data",argv[1]);
复制代码
9 G2 b+ u  w" m3 ]; S
已编译好的文件。
( }: s0 P( {; ~& y. t# }) M6 c

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

本帖被以下淘专辑推荐:

  • TA的每日心情
    奋斗
    2022-8-10 09:09
  • 签到天数: 940 天

    [LV.10]以坛为家III

    发表于 2015-9-22 13:55:43 | 显示全部楼层
    能把MDX转换成Mac自带词典可用的格式吗?

    该用户从未签到

     楼主| 发表于 2015-9-22 14:13:38 | 显示全部楼层
    28836919 发表于 2015-9-22 13:55' P1 ?' k+ B% v( a6 g: H3 T4 k
    能把MDX转换成Mac自带词典可用的格式吗?
    + L" p8 ~8 a' `, D' o+ J0 o
    https://www.pdawiki.com/forum/fo ... hread&tid=13014
    1 [1 X% c, n; N' Z6 o: h% x4 |! {慢慢看吧
  • TA的每日心情
    开心
    2018-6-30 06:56
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2015-9-24 06:01:11 | 显示全部楼层
    这个不会用啊,能给个教程吗?非常需要几部mac上自带的词典,论坛上没有的,或者哪位大神出手把自带的Oxford Chinese Dictionary做成mdx,非常感谢

    该用户从未签到

    发表于 2017-1-21 22:25:45 | 显示全部楼层
    支持,谢谢分享
  • TA的每日心情
    奋斗
    2018-4-16 08:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2017-1-22 14:57:19 | 显示全部楼层
    这个工具真好!谢谢楼主分享!
  • TA的每日心情
    慵懒
    2017-12-18 12:18
  • 签到天数: 64 天

    [LV.6]常住居民II

    发表于 2017-7-31 02:09:23 | 显示全部楼层
    正在尋找這樣的工具,太感謝了!

    该用户从未签到

    发表于 2017-8-10 20:43:12 | 显示全部楼层
    好东西,顶一个.
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2019-10-29 15:45:00 | 显示全部楼层
    感谢楼主 小白要开始好好研究了
  • TA的每日心情
    奋斗
    2020-12-22 18:46
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2019-10-29 17:45:28 | 显示全部楼层
    大神,我有点没看懂帖子介绍的mac词典导出放大,我在推荐的apple dictionary主页找到了一条py代码并运行,显示出了这样的报错,请问该怎么办!
    6 i) l, e  j0 r0 X
    Traceback (most recent call last):
    0 z8 x2 N1 l' i  File "/Users/xxx/Downloads/macdictexport/0dedict.py", line 31, in <module>: Z+ k" C" n0 x
        for word, definition in gen_entry():
    / G3 L. m0 W" H; F1 m  File "/Users/xxx/Downloads/macdictexport/0dedict.py", line 26, in gen_entry
    1 M8 }' n) z$ `4 n    title = re.search('d:title="(.*?)"', entry).group(1)# v& e0 K* Y1 j% b
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/re.py", line 199, in search; R& A3 {6 F2 h& t
        return _compile(pattern, flags).search(string)
    - [. l( T7 ~; s  R4 a! |TypeError: cannot use a string pattern on a bytes-like object: e) R  ~5 G; I( F  S
    >>>
  • TA的每日心情
    开心
    2019-3-26 21:36
  • 签到天数: 178 天

    [LV.7]常住居民III

    发表于 2019-10-29 20:14:50 | 显示全部楼层
    mrfu 发表于 2019-10-29 17:452 a& h7 x) a; C3 b. Y
    大神,我有点没看懂帖子介绍的mac词典导出放大,我在推荐的apple dictionary主页找到了一条py代码并运行, ...
    / S2 n4 T  `# L; h( ^6 o; f- q0 X
    需要用python2导出,python3有问题。github内容页已经讨论到python3不能使用这个问题了。
    / X9 o; j8 N/ ^- Rmacos下预装了python2和3,你需要切换成python2来导出,并且确认词典路径没有出错。mojave环境下我用python2导出mac词典成功,不过可惜的是,github没有给出索引词条的代码,单词没有屈折变化,例如查walks和walking不会跳转到walk之类的。

    该用户从未签到

    发表于 2022-8-20 15:31:47 | 显示全部楼层
    非常感谢分享
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-6 03:51 , Processed in 0.023710 second(s), 24 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表