掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5566|回复: 73

[工具] 写了个抓取特定单词,生成html或pdf的小工具 MdxConverter v0.0.4

[复制链接]
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-2-28 10:10:04 | 显示全部楼层 |阅读模式
    本帖最后由 noword2k 于 2020-3-9 09:00 编辑
    , ]* T: b5 d  o! z: o! ]
    / V: g7 F  G5 ]. e/ {) R. z$ ]; a" V2 p# L- T! \
    exe下载地址:/ F7 n# j) A, d5 s4 A

    8 d, q- z" v, }% j0 `5 v6 D) v" Y7 z' y; x6 \' Q7 n2 C6 l* l4 u
    一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。
    ! i7 e. m1 ~. g/ Z5 Q7 m& g+ C! N( e学新单词的时候,一次生成所需的单词解释、例句。0 }. p5 C! x# t9 H( Q6 I
    输入支持xls, xlsx, json, txt,输出支持html和pdf。* a+ O* F/ _2 A: ^: Y
    这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。
    7 X5 O* q1 Z! x( b: r# D& _/ t6 ^" K0 y% i! k3 W3 I9 z
    关于怎么使用: p* s9 y* d+ G0 ]' g8 L6 `
    比方说你希望收集以下单词5 N' `' a# Z: a. R6 F# T4 A
    Lesson 1:hello world( ]0 t' d1 z6 ?8 L
    Lesson 2:this is a test0 b! ~: s+ u' b- B
    Lesson 3: .....; E* h0 S6 H/ @: L& Q! S, S9 S. K+ {
    # V$ P8 p2 [/ z- A1 Y
    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:) ^. U: \7 S( O; a" c4 u( J, P
    #Lesson 17 o, R( U# ?' }' S6 @. k8 ^6 W& g1 H
    hello8 ?" ^5 N8 @8 ^- @  Z
    world7 N3 y/ c8 P5 Q  M& J6 Y
    #Lesson 2
    ! a) ]8 i+ G- ?- I4 G6 E6 S! N& qthis
    / F: O9 j6 {& f7 B+ Z1 Jis1 Q& N0 }# |9 n8 e# j1 N
    a. Z4 }$ ~# i8 L  |" N6 T
    test
    " u6 E4 {' R6 F1 g4 t1 I#Lesson 3
    7 b1 N% E/ V6 J2 F; P....* @5 h3 Y; r3 G! n+ U9 G

    - C% |# b" h* U* o/ e: _也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上) G& G/ R# T. f3 i& X' c& f3 v0 j
    也可以编辑一个json文件,不再赘述。
    : F, O; `+ G4 n4 L9 v0 |2 m
      T" N! v. Z/ N8 @; R6 o然后在命令行下运行8 P5 r+ d0 S0 G: x, [& a
    MdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】0 z* Q0 p  ]5 n
    . A/ w2 V/ L" ?. f5 F9 R$ V0 W
    注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数5 f3 N( K* s& y) u& q1 i
    --invalid 0 立即退出2 X+ p* C% ~4 T& ]/ P. ?5 C2 P8 `
    --invalid 1 输出警告信息到html/pdf中
    ( e/ _0 T2 V7 a: D2 q) U* h
    ! _4 L& s8 d6 E$ ]4 {. Q用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]
      * b" L/ r5 w! s
    2.                         mdx_name input_name [output_name]
      % P$ s; ?" {) s# y) K
    3. positional arguments:
      $ ^* i" m; z8 I* Y$ Q) F8 U# h
    4.   mdx_name3 H* b3 C2 e; b% o
    5.   input_name  i, u# G2 I3 B& X4 j$ l! i% y
    6.   output_name
      2 Q# F7 G% C2 Q: D; Z, ^7 l" Z$ f8 b. a/ i
    7. optional arguments:
      : C) Z+ ]3 c! ?: ~& }& c
    8.   -h, --help           show this help message and exit1 _' Z; _. k7 r
    9.   --type [{pdf,html}]4 K1 X% U3 V3 c0 n, m2 {' t3 p. X
    10.   --invalid {0,1,2}    action for meeting invalid words4 d& `. {) u' r/ T. V
    11.                        0: exit immediately
      % W) V/ X; H" N; M, v/ Y5 V0 U8 }
    12.                        1: output warnning message
      $ o+ @7 \, g4 ~# \3 Q
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码
    / m* _, e6 Q0 G9 b- @
    & V/ E% y0 M+ a% o9 @; y' J6 {
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码
    9 o& j5 K, ?$ ^9 C5 X, I/ K

    : P7 ^: y5 @; L% \, E( [9 @: x输入
    6 l# {. ^+ x: D, x/ |" Vtxt 示例
    1. #Lesson 17 H; p  |7 T! {* O& ?; Q: q
    2. hello
      2 f" h  T; C, `5 x: z: [6 r2 y% M7 d
    3. world
      : `/ R! M' L, U$ f

    4. : I  l- k# m8 d6 \: g( y
    5. #Lesson 2
      7 Q) g0 s6 Q" L9 `
    6. python
      ) G' E/ @9 I* g; q0 K
    7. is
      5 Z! w0 m3 Q9 v: n0 A
    8. awesome
    复制代码
    & V3 Y% [6 B% O; P/ n* G7 V1 N, _
    json 示例
    0 ~* J# m* l+ j- P$ N3 S8 y5 I
    1. [/ l8 a9 }) M- J2 w& p1 u
    2.     {
      2 [  c! K3 \( U3 K) z; u, L
    3.         "name": "Lesson 1",
      , g( u* P6 [, Z; x
    4.         "words": [5 h6 z  [+ i& A: y8 ^
    5.             "hello",
      5 T* j1 y. l" D0 i
    6.             "world"  a: _8 U1 ?; \/ S- j. q
    7.         ]
      , w3 i# q1 w' ^# ~, i/ e; Z1 o
    8.     },# z& X, S; }# ]3 s
    9.     {. A  P1 K1 |' m& Y- r: g
    10.         "name": "Lesson 2",: E8 b' P9 C5 B; r
    11.         "words": [! Z9 T! X/ Z2 E
    12.             "python",9 t: N  s0 m, i
    13.             "is",2 d! n: ^! I; e8 {% M
    14.             "awesome"
      4 o/ p. H5 g0 |
    15.         ]! j. r- N; T5 V/ \2 }
    16.     }7 \  J- ^9 q5 i: R
    17. ]
    复制代码
    4 ^" |3 R* @; _9 B" I# S! [
    excel 示例# L6 H- t" W8 e2 @) b( u

    9 s0 t6 K4 h) ]/ c+ }) a
    * A2 u! v' t/ A# O# _; Z输出, u5 M3 T) j" R. R( c1 _) i
    (图片怎么弄都出不出来,我放弃了)  R+ `. T/ F* f
    HTML
    1 y, j, u1 B: j0 `$ g; b' I
    " A2 M6 {) s1 U' U: dPDF" O; t; L* E& F5 d; m
    # Q# P2 K+ a; S/ o% H
    " h2 M, T8 s6 k! D' A5 j

    & k! Z; M# t, [; D, Z  T) S3 z6 z4 p) P. h' a! l/ Q9 ~; d

      d/ l, b# d* |# G' ?

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33; u& E6 A& N: W( M) Q, E. K
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    8 F. m8 n! Y' m# S: w可能是你选的词典词不够全。
    ( Q# }* ~" C- F+ p0 Y反正开源的,你觉得怎么样好,可以自己改。
    ) K- o1 ~' g. H) C; H: ~这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑 * p/ G: q9 u0 v; \" P

    # ]* h; S' L& O  Znoword2k 兄:
    * f7 @2 y2 @: \6 A' Nhtml 說明圖沒顯示出來.....
    5 Z: }  F5 e9 N* n1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html
    - @- t  o/ e6 g" ^7 ?. x2. 若想生成全部的 headwords 該如何使用.....; g* ]: B6 |1 F* U2 V8 c
    3. filename  可否和 headword 相同來生成
    $ B* J4 e5 N$ r4 E; a# B/ h$ ?0 [6 s2 e可否再請仁兄指點迷津解惑一下.....
    2 ~- t) Z7 _8 @/ [* Q4 d5 gThanks a lot2 b4 j' l  A- {( y0 N1 i

    + P7 b$ G% Y+ G- \
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:29
    . E8 W' j& V3 {( d4 E1 M热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch

    9 Z2 I, ^$ F/ q5 K, t( x. I  X+ Q可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    4 ~& V* m/ w+ |4 h% s( \但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。1 F1 }5 W3 f9 ~! L# ?8 |3 Y* [* B7 s
    不喜欢用try..catch,太丑,开销太大。
  • TA的每日心情
    开心
    2020-3-25 07:07
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2020-2-28 10:34:18 | 显示全部楼层
    谢谢!下载了.exe后,怎么用?
  • TA的每日心情
    奋斗
    2023-8-12 09:33
  • 签到天数: 1459 天

    [LV.10]以坛为家III

    发表于 2020-2-28 11:11:18 | 显示全部楼层
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用
  • TA的每日心情
    开心
    2021-4-24 08:20
  • 签到天数: 634 天

    [LV.9]以坛为家II

    发表于 2020-2-28 11:28:32 | 显示全部楼层
    谢谢分享   好羡慕楼主  能自己写自己需要的程序
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:36 | 显示全部楼层
    elusty 发表于 2020-2-28 10:34; j9 B: `" S8 ~9 C. c/ J. [! f9 C
    谢谢!下载了.exe后,怎么用?

    * m/ I' j1 F8 s/ I0 t更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:111 \+ E  v, o7 F$ K: A8 u1 L
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...
    8 i3 G$ B' A$ m
    更新了一下帖子,增加了简单说明
  • TA的每日心情
    慵懒
    2022-1-17 18:55
  • 签到天数: 464 天

    [LV.9]以坛为家II

    发表于 2020-2-28 11:49:46 | 显示全部楼层
    太棒了!支持楼主!
  • TA的每日心情
    慵懒
    2020-5-3 16:00
  • 签到天数: 207 天

    [LV.7]常住居民III

    发表于 2020-2-28 15:29:25 | 显示全部楼层
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
  • TA的每日心情
    慵懒
    2020-5-3 16:00
  • 签到天数: 207 天

    [LV.7]常住居民III

    发表于 2020-2-29 05:33:01 | 显示全部楼层
    noword2k 发表于 2020-2-28 17:543 d# v4 N$ ]# K" S. g
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。/ Y/ I: S! v% W0 O) T
    但是就怕用户不仔细看输出信息,从而漏了 ...
    6 H/ H0 F& P2 B1 q
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:339 A: G4 l; |% w. O0 l  k
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    1 E' k+ ]& z* F, W: Y
    想了一下,还是从善如流,反正是举手之劳。8 F0 b# ?/ v$ |
    新版的遇到没查到的单词,会显示警告信息,然后继续。
  • TA的每日心情
    奋斗
    2023-8-12 09:33
  • 签到天数: 1459 天

    [LV.10]以坛为家III

    发表于 2020-2-29 10:17:15 | 显示全部楼层
    已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单词。所以不知能否实现:把能找到的单词全输出来,找不到的单词列在输出文件的最前或最后。多谢!
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 10:31:18 | 显示全部楼层
    neilzhu 发表于 2020-2-29 10:17
    ! ~# C( n- q2 P$ ]- Z已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...
    4 D  I3 ~9 L: E: ^* G  g* I
    现在是找不到的单词,在html或pdf中显示 warning 信息。7 e& @5 Q7 Q6 w8 G( v% t; S
    考虑统一放在最后,单独一组invalid words。
    . `/ H6 I( N9 ~2 @等有空再搞。
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    发表于 2020-2-29 11:53:31 | 显示全部楼层
    没有的单词跳过,另存一个文本格式单词表吧,谢谢不断更新,持续围观
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    发表于 2020-3-3 01:11:57 | 显示全部楼层
    给力又热情,高风亮节啊,高兄
  • TA的每日心情
    慵懒
    9 小时前
  • 签到天数: 1724 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。
    . m6 i! W, l) r* s7 b6 j7 O4 V% y. [3 Z8 f1 l, h4 m6 V$ }

    该用户从未签到

    发表于 2020-3-11 14:34:44 | 显示全部楼层
    太方便了,如果可以用exe有执行界面就好了。

    该用户从未签到

    发表于 2020-3-16 15:45:29 | 显示全部楼层
    Mac能用不,下载试试
  • TA的每日心情

    2022-12-20 09:47
  • 签到天数: 375 天

    [LV.9]以坛为家II

    发表于 2020-3-17 16:26:43 | 显示全部楼层
    太棒了! 多谢!楼主!
  • TA的每日心情
    开心
    2024-4-18 10:17
  • 签到天数: 929 天

    [LV.10]以坛为家III

    发表于 2020-3-22 16:34:57 | 显示全部楼层
    楼主太给力了 赞赞赞5 X, {! B6 w& ?8 z! g2 w2 M% l/ Z
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 17:14 , Processed in 0.080774 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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