掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2000|回复: 8

[讨论] 挑战巨大词典 ①

[复制链接]
  • TA的每日心情

    2020-8-15 10:40
  • 签到天数: 146 天

    [LV.7]常住居民III

    发表于 2019-3-29 14:41:10 | 显示全部楼层 |阅读模式
    本帖最后由 zzzz_sleep 于 2019-3-29 14:50 编辑 . e7 I+ A6 c1 L

    ( y; Y5 G! f$ V/ E* l: X2 J3 m所用词典基本信息:
    1. 中文喂鸡百科(图文试用版)( {% u& I' A7 l+ U. J
    2. Pic_bulid20180601 V1.4( H% D  K8 J1 h8 x" H
    3. 喂鸡百科,自由的百科全书。
      8 `7 @" [& {5 Y/ l% |3 ?! T
    4. (1)制作信息:( L* W/ A6 O/ y9 s; F' e/ J) z
    5. ·制作:邱海波! W. c7 O" Q) S! ]7 P" n3 n
    6. ·日期:2018年10月7日( o4 `3 @! T5 z# g& u% M7 b) e) g! F
    7. ·数据:http://dumps.wikimedia.org/zhwiki( f* E# ?" [$ e0 A! O2 c9 S% f7 u
    8. ·工具:wikicafe & Mdxbulider( O- m3 f  k. A/ g5 T; ^5 t8 O
    9. (2)更新日志:
      3 \4 Y! d/ h. ~/ d5 b$ A
    10. ·2018/10/7:v1.4
      4 U9 F# K  h) b  q, x$ g
    11. 本次优化:解决607041个词条内链跳转问题,更直截有效。感谢jeanleem6提供正则表达式支持。9 g. D  ~- V' Q3 ^
    复制代码

    & [5 A8 o/ D+ E0 k0 q# A2 P7 B5 n# z- ^. A( V9 G* `

    5 G9 j- I, A! {3 ~9 T原文件:
    1. 6.9G Jun 14  2018 zhwiki-20180601_V1.3.mdd
      7 p4 r; g  P2 x3 [! {$ d6 l
    2. 1.7G Mar 27 20:33 zhwiki-20180601_V1.3.mdx
    复制代码
    ; W% ]7 n, q9 a! v" X  Q+ p1 C
    资源文件很大: 6.9G+ Y/ R) V3 \7 D/ I# P# u
    词条文件一般:1.7G
    - c  }( R, H3 u0 R% W, e5 M- f0 }9 r% }" a2 N; F4 A7 N5 a
    电脑基本硬件:# c9 h/ B1 b/ J! ]
    1. Intel Core i5-5300U @ 4x 2.295GHz
      2 Z. V% {& [6 p) H( r9 t
    2. 8G Ram1 V! T8 z/ u# [6 F
    3. SSD HD8 L- ^3 @" Z6 h& }
    复制代码
    # W& ^& k0 U2 N3 G
      I: j* H+ i2 d: Z) i2 m
    7 n% K! I( d) `, O- b) K$ }* I5 I4 `  Q
    解包:
    1. mdict -x zhwiki-20180601_V1.3.mdd -d temp/mdd) y* S- e- _. _7 R" S2 M. e* A
    2. 100%|██████████████████████████████████████| 518875/518875 [56:00<00:00, 154.40rec/s]% a* D1 z0 D2 I- G
    3. mdict -x zhwiki-20180601_V1.3.mdx -d temp
      - ~* E, p1 a- I3 p) m$ V4 t! G4 b4 _
    4. 100%|██████████████████████████████████| 1824911/1824911 [02:05<00:00, 14489.47rec/s]
    复制代码

    4 `4 _0 ?1 n2 X7 E+ n解包后文件大小:' h: S8 x$ {4 V. B: ?9 I3 N
    1. 5.8G Mar 28 10:41 zhwiki-20180601_V1.3.mdx.txt/ L; v, A3 P5 ]8 P% j9 w
    2. 7.9G    mdd/
    复制代码
    资源文件相差不大
    ! q; C! J8 k& U) p词条文件翻了 3倍多
    ( y3 ]% \: n; M" v
    3 y1 `3 |# |3 \5 }9 s重新打包:
    2 w* x) J/ |  U9 e3 Z先来资源文件
    1. mdict -c zhwiki.mdd mdd/
      3 ~/ w( @# g0 [' j* U8 M
    2. Scan "mdd/": 518875! y+ j9 l7 l6 [9 `/ x
    3. Pack to "zhwiki.mdd"
      ( O8 D. S5 k: D+ \! f
    4. 100%|██████████████████████████████████████| 518875/518875 [18:45<00:00, 460.93rec/s]
    复制代码
    . o+ O  c3 l: o% o& e" t

    5 J! O# D. p9 X# R: H  ~- ?; I; c$ o5 }+ k# j7 ?1 J
    资源文件都是一个个小文件,速度慢些
    6 I4 C& Z# b) r, `1 D% d" g7 @+ N6 B7 a/ ~- r% t0 L+ ]# M
    再打包词条文件
    1. mdict --title  zhwiki-20180601_V1.3.mdx.title.txt  --description zhwiki-20180601_V1.3.mdx.description.html  -c zhwiki.mdx  zhwiki-20180601_V1.3.mdx.txt3 w- d0 ~! ?. K3 Q
    2. Scan "zhwiki-20180601_V1.3.mdx.txt": 1824911
      + ~$ w/ u1 S! M
    3. Pack to "zhwiki.mdx"
      ( }; p1 `, H, i' v+ ~* |* d
    4. 100%|███████████████████████████████████| 1824911/1824911 [04:33<00:00, 6672.10rec/s]
    复制代码

    7 U, v$ B* l" @! H7 t, _
    ; r" ?. Y' [7 O0 b6 e2 j
    " e. M3 G" ?/ f速度还可以
    * e) [: e! ^" w. M$ Q# c( i8 C' v  |
    打包后文件大小
      W9 `- p0 l7 `& l% ^  a3 Q
    1. 6.9G Mar 29 13:58 zhwiki.mdd: n) A( b+ Z* n6 ~! M( t
    2. 1.7G Mar 29 14:11 zhwiki.mdx
    复制代码

    # Y& U9 J1 x3 I0 A6 b+ u, X* k8 p4 k. j  e
    文件大小差不多,差点尾数,忽略不计
    9 k# y2 L+ P/ b& K4 x6 U1 f6 b7 B3 Y9 N7 m% P/ H

    & B0 K6 G, l# t3 a. P下次目标:
    1. 2.4G Mar 28 14:51 enwiki-20160601-part1.mdx5 c. E2 X4 W* ]3 t& p+ I4 c8 n
    2. 2.3G Mar 28 14:30 enwiki-20160601-part2.mdx
      9 x( F- L% l0 d' V- C3 _, u, g* ^9 n
    3. 2.2G Mar 28 14:41 enwiki-20160601-part3.mdx7 k% [! W" F, Z/ h1 Q% o1 j
    4. 2.1G Mar 28 14:32 enwiki-20160601-part4.mdx
      - O6 w: K! c. s/ d
    5. 157M Mar 28 13:13 enwiki-20160601-part5.mdd! b8 a. k1 H8 a
    6. 2.0G Mar 28 14:02 enwiki-20160601-part5.mdx0 f% L# z, I6 f$ I& i2 F
    7. 157M Mar 28 11:25 enwiki-20160601-part6.mdd5 ^+ A0 |1 m: W
    8. 1.3G Mar 28 13:15 enwiki-20160601-part6.mdx
    复制代码

    0 N7 ~2 }  z3 I. j4 j0 Y
    : z5 J' M. r  X9 ]- V3 E. e% j计划将所有 MDX 打包成一个文件,那样会有 13G 的 MDX,我先去清扫点硬盘空间3 v" N+ v# J: O2 @
    $ ^9 }/ d, L/ K5 Q* m- i% j

    8 x( t/ ]: E$ [( `; t
      w) }  P6 W8 F" j( e% ^  A; s3 A9 F; X0 h  u

    8 h) n9 I% m( s; d$ T
    & Y6 J& _+ {) e7 H* ?- U
    ) H/ x0 {3 [4 {7 [/ \$ c) l; Z7 I0 h5 `; r4 b& i8 v
    ; j, ^1 g0 c9 J3 B5 r

    9 f' X, O6 ]9 i' c; L" ^/ i6 n
    - `# I) \# ]: \9 J

    评分

    1

    查看全部评分

    本帖被以下淘专辑推荐:

    该用户从未签到

    发表于 2019-3-29 16:29:59 | 显示全部楼层
    好可怕,这是要干嘛?
    bbs 该用户已被删除
    发表于 2019-3-29 17:18:11 | 显示全部楼层
    mdict -x zhwiki-20180601_V1.3.mdd -d temp/mdd
    4 h% p7 n/ x. F- ]: Q这个mdict是啥?你自己写的程序吗?
  • TA的每日心情

    2020-8-15 10:40
  • 签到天数: 146 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-29 20:36:24 | 显示全部楼层
    bbs 发表于 2019-3-29 17:188 R! v+ H' O- @2 _9 Y
    mdict -x zhwiki-20180601_V1.3.mdd -d temp/mdd
    $ U* @/ ]/ t- r" h2 N0 l. a: Q8 O& m这个mdict是啥?你自己写的程序吗?

    - Z, c( N; l- M1 N' B对的,自己写的程序
    2 ^  o9 s9 ?/ R) ^, d0 J
  • TA的每日心情
    奋斗
    2024-2-9 23:03
  • 签到天数: 1515 天

    [LV.Master]伴坛终老

    发表于 2019-3-29 21:06:14 | 显示全部楼层
    感谢楼主辛勤劳作之分享!!!
  • TA的每日心情
    开心
    2020-10-25 03:32
  • 签到天数: 395 天

    [LV.9]以坛为家II

    发表于 2019-3-29 23:39:31 | 显示全部楼层
    高手在民间。
  • TA的每日心情
    开心
    2023-11-5 12:37
  • 签到天数: 727 天

    [LV.9]以坛为家II

    发表于 2019-3-30 00:43:40 | 显示全部楼层
    可怕可怕。楼主厉害厉害。貌似解包,打包,好像比常用的快得多。这么大的txt,能够编辑吗?
  • TA的每日心情

    2020-8-15 10:40
  • 签到天数: 146 天

    [LV.7]常住居民III

     楼主| 发表于 2019-3-30 15:28:27 | 显示全部楼层
    thinkinginlast 发表于 2019-3-30 00:43
    $ F% H/ I5 o2 o2 \" ~  F4 D7 G& Y可怕可怕。楼主厉害厉害。貌似解包,打包,好像比常用的快得多。这么大的txt,能够编辑吗? ...

    4 e" c% m7 W2 D% y8 l# x
    5 p2 n" [! w3 q* C! w$ f8 S' T1 Y
    编辑肯定费事,不过可以分割若干小的 TXT 文件,转换时再一次性读取
    ( I6 m% u* ?% a% s8 H# ~& p! V' b/ y& A' V6 W& w
    1. mdict --title enwiki-20160601-part1.mdx.title.txt --description enwiki-20160601-part1.mdx.description.html  -a enwiki-20160601-part1.mdx.txt -a enwiki-20160601-part2.mdx.txt -a enwiki-20160601-part3.mdx.txt -a enwiki-20160601-part4.mdx.txt -a enwiki-20160601-part5.mdx.txt -a enwiki-20160601-part6.mdx.txt enwiki.mdx
    复制代码

    1 a  M: I! _/ L/ R7 D  Q" l& V  m# }
    比如我这个,读取从 enwiki-20160601-part1.mdx.txt  到 enwiki-20160601-part6.mdx.txt ,共6个TXT,转换成一个 MDX
    & O- h4 G- e" T5 P

    该用户从未签到

    发表于 2019-4-1 13:20:00 | 显示全部楼层

    " J: @3 s& I8 L! N* [$ cThank you very much indeed
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-20 01:33 , Processed in 0.056474 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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