掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2537|回复: 8

[讨论] 挑战巨大词典 ①

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

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

    [LV.7]常住居民III

    发表于 2019-3-29 14:41:10 | 显示全部楼层 |阅读模式
    本帖最后由 zzzz_sleep 于 2019-3-29 14:50 编辑
    + }# }- k0 M% }6 F" i# c0 _3 S- ?' a! N- s$ u, @2 w" n
    所用词典基本信息:
    1. 中文喂鸡百科(图文试用版)9 b2 u& _$ L3 L( s' O0 P
    2. Pic_bulid20180601 V1.4; B9 f, F- N- W: E9 S
    3. 喂鸡百科,自由的百科全书。# k% c! E2 G' b5 }6 ?$ [9 o
    4. (1)制作信息:4 v/ Z! I, p' z7 c( m7 ~
    5. ·制作:邱海波$ |2 o. ?2 Y" I
    6. ·日期:2018年10月7日
      ' e- V5 R6 T  @: N3 I; y- v# @
    7. ·数据:http://dumps.wikimedia.org/zhwiki
      : g* {5 C! U4 u2 K& }" e1 f
    8. ·工具:wikicafe & Mdxbulider
      5 Y' c- W2 f/ c  T
    9. (2)更新日志:
      & Z( f! {2 i0 ?& R4 p) y
    10. ·2018/10/7:v1.4# Y9 T  i6 B- v% C' N
    11. 本次优化:解决607041个词条内链跳转问题,更直截有效。感谢jeanleem6提供正则表达式支持。
        R9 A& W. x# Q1 a( ^$ m
    复制代码
    - \; M6 \3 y% b& c  S

    & A4 T" {5 O2 }% O: M, m; T. X( W7 G
    原文件:
    1. 6.9G Jun 14  2018 zhwiki-20180601_V1.3.mdd
      + M. ]4 L! R: E. Z% h9 C) \7 z3 E
    2. 1.7G Mar 27 20:33 zhwiki-20180601_V1.3.mdx
    复制代码

    ' O3 p3 P" k) v* x6 s0 F( V4 F2 G9 {资源文件很大: 6.9G
    ; P! c+ }5 e8 q& y# V词条文件一般:1.7G
    5 n- p1 n7 ~( y% m4 X2 b& g
    # D  ~- F* W3 }6 F  ^# ~& O+ a电脑基本硬件:- Q; h/ [, [: m% H0 K
    1. Intel Core i5-5300U @ 4x 2.295GHz
      ; y" d1 `; L* {1 l
    2. 8G Ram
      4 F! o: u- J6 z  o. k. V# z
    3. SSD HD
      * X8 J, {3 j1 H7 c
    复制代码
    4 k; d$ L9 D1 E+ Y8 V3 Y/ O

    2 K7 q9 w1 G1 e) I
    % J' c& z; v' @2 W6 N7 q解包:
    1. mdict -x zhwiki-20180601_V1.3.mdd -d temp/mdd
      6 D; b# F6 u' M1 a% h4 w! f* U
    2. 100%|██████████████████████████████████████| 518875/518875 [56:00<00:00, 154.40rec/s]. P$ G6 D* N: L; c" i. W
    3. mdict -x zhwiki-20180601_V1.3.mdx -d temp
      4 m$ ]# _" e7 I) B& C& c* d; i- d
    4. 100%|██████████████████████████████████| 1824911/1824911 [02:05<00:00, 14489.47rec/s]
    复制代码

    ( o1 k0 ^+ i2 c; g0 u解包后文件大小:3 k3 p; T2 ^% T- T1 x4 C
    1. 5.8G Mar 28 10:41 zhwiki-20180601_V1.3.mdx.txt9 K, @3 E/ G4 b
    2. 7.9G    mdd/
    复制代码
    资源文件相差不大0 i* ~! t& U& z6 W$ e' j$ y& e
    词条文件翻了 3倍多2 K. W' \0 k0 x

    9 E6 P/ K: g' ]$ D% e6 @重新打包:
    8 F. B/ r: z9 G& M  l  i: R4 X9 Z先来资源文件
    1. mdict -c zhwiki.mdd mdd/
        h. l/ A0 I" ]% E$ I+ d
    2. Scan "mdd/": 518875
      ; v1 s7 C  n) C
    3. Pack to "zhwiki.mdd") T7 F( r& K& h! E
    4. 100%|██████████████████████████████████████| 518875/518875 [18:45<00:00, 460.93rec/s]
    复制代码
    , d5 ?% i* i- ^, ^% M% y2 B) I( Y
    1 I3 b; v: d0 K7 b( b8 l1 o
    8 z0 S$ \- q% V& k' G# f
    资源文件都是一个个小文件,速度慢些
    ' I& |/ Q' L" ]0 y' b6 N0 F. S" p7 }7 W& [: s/ p% N2 F
    再打包词条文件
    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.txt
      + r* u# n$ j1 {" s- J
    2. Scan "zhwiki-20180601_V1.3.mdx.txt": 1824911. K3 K- S. M. H, A! J- y; {3 A) I
    3. Pack to "zhwiki.mdx"# K+ m4 S: ^8 x5 X6 V/ u' v
    4. 100%|███████████████████████████████████| 1824911/1824911 [04:33<00:00, 6672.10rec/s]
    复制代码

    & w' H5 D% i- r. ^
    1 P/ ^" i2 [6 q: X/ B
    4 F# f; S8 \6 _% \( F' }( z1 e速度还可以! X: O$ B& ]9 t7 o0 r

    2 T5 {$ S8 ~8 s% h. m, s0 T打包后文件大小, m! B5 G+ P- @- u4 c
    1. 6.9G Mar 29 13:58 zhwiki.mdd' T4 J' C6 K9 r7 F
    2. 1.7G Mar 29 14:11 zhwiki.mdx
    复制代码
    / g: G# [4 s" h: x) l1 @8 `; |
    - K7 T/ F" c' G
    文件大小差不多,差点尾数,忽略不计: m# @% b( M1 @3 h* @

    ' S. ?, I& `2 T/ x9 w
      R: x! |$ W7 |( R' ?3 O* k下次目标:
    1. 2.4G Mar 28 14:51 enwiki-20160601-part1.mdx
      . D' ?! s" m% O( R
    2. 2.3G Mar 28 14:30 enwiki-20160601-part2.mdx
      2 d. M$ n3 q) n
    3. 2.2G Mar 28 14:41 enwiki-20160601-part3.mdx4 L0 m% R4 a9 l7 k' X6 _2 V
    4. 2.1G Mar 28 14:32 enwiki-20160601-part4.mdx
      ) ^9 X# P. k; z0 u1 o1 z% g
    5. 157M Mar 28 13:13 enwiki-20160601-part5.mdd
      8 ~3 C+ ]9 F9 y. Q9 n6 I: D: i7 I
    6. 2.0G Mar 28 14:02 enwiki-20160601-part5.mdx
      3 F: J1 F1 ~2 A/ Y+ e& x0 H
    7. 157M Mar 28 11:25 enwiki-20160601-part6.mdd3 |6 l, Y/ b! ^
    8. 1.3G Mar 28 13:15 enwiki-20160601-part6.mdx
    复制代码

    - H7 x1 l, s$ }# l0 y/ X1 C/ Z
      q$ t9 e  d" O# Y- b计划将所有 MDX 打包成一个文件,那样会有 13G 的 MDX,我先去清扫点硬盘空间  Q( n& M" M3 Y7 t" m2 g! d8 J

    & m2 v- ^4 R; j- P5 v$ c: u2 Z* C: a  Q
    8 |; h0 i4 M# |- o! E

    * q4 f: O" g# [$ |' W( b
    8 p/ l( v+ @$ A" A9 Z4 _2 j
    - F- s: \. i# k: G( k+ t$ o+ l+ p( a1 A7 M" I5 e+ ^+ J% m

    4 _. W0 n5 x& T8 M
    9 E- i( k" ~6 i  d# @. e% T: g: n3 e# z- F# @; e5 P5 @/ l9 S

    4 U# Y! E  f  ~# l( A+ t# T

    评分

    1

    查看全部评分

    本帖被以下淘专辑推荐:

    该用户从未签到

    发表于 2019-3-29 16:29:59 | 显示全部楼层
    好可怕,这是要干嘛?
    bbs 该用户已被删除
    发表于 2019-3-29 17:18:11 | 显示全部楼层
    mdict -x zhwiki-20180601_V1.3.mdd -d temp/mdd
    6 ^0 `- w6 W6 h3 V7 i) A这个mdict是啥?你自己写的程序吗?
  • TA的每日心情

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

    [LV.7]常住居民III

     楼主| 发表于 2019-3-29 20:36:24 | 显示全部楼层
    bbs 发表于 2019-3-29 17:187 t9 B  L( M( _5 c- t, v* B
    mdict -x zhwiki-20180601_V1.3.mdd -d temp/mdd: F* q; t* d( E6 x
    这个mdict是啥?你自己写的程序吗?

    ; s! [/ B/ b2 \5 d对的,自己写的程序# U: ~2 `+ u" [: d! \0 y
  • 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* [" ?5 _/ v* t
    可怕可怕。楼主厉害厉害。貌似解包,打包,好像比常用的快得多。这么大的txt,能够编辑吗? ...

    1 q5 t! V! \" f; A
    $ _5 s  K5 G& K# |( ~; Z+ y- H4 q, b2 A0 [
    编辑肯定费事,不过可以分割若干小的 TXT 文件,转换时再一次性读取* w( z* B5 n8 Z. P/ H  [, Y

    ' p# W8 r4 ~) v
    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
    复制代码

    - c$ i: t. s- F
    & F+ X  X, W1 b/ V+ R比如我这个,读取从 enwiki-20160601-part1.mdx.txt  到 enwiki-20160601-part6.mdx.txt ,共6个TXT,转换成一个 MDX
    % V. N% K8 y# d2 q" F  l

    该用户从未签到

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

    & c0 \* E- K5 F0 _! D9 `$ NThank you very much indeed
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-4-8 10:37 , Processed in 0.025002 second(s), 28 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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