掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5603|回复: 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 编辑
      A5 ^. ?% x0 O8 ], `0 E0 K& T9 D
    ( Z9 L* Q; ~: f3 b2 z
    exe下载地址:
    ' |* O( t# o. E0 v; J
    0 d: \6 |( ^0 Z% R
    ! @! j) {' w# I. u1 `- z一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。
    , f( k( g6 d3 C学新单词的时候,一次生成所需的单词解释、例句。- s, c0 J9 W; j- e: }
    输入支持xls, xlsx, json, txt,输出支持html和pdf。
    , J+ ~+ s1 k; o' \  z2 m- ^这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。! n" x6 X1 b: z5 ^* Y+ c6 v; v

    . f( e; V& @% E关于怎么使用# t( l0 G+ |$ O& }* B  F- \1 K
    比方说你希望收集以下单词( t- H/ t! N% }, x) t0 \
    Lesson 1:hello world
    # y- H+ r4 d/ @* {+ n2 ALesson 2:this is a test
    2 S' b% Z$ n9 u+ }* C) B2 ?( fLesson 3: ....., g9 z) \' p5 b# `
    / X4 j  _/ m+ {6 h9 E6 p" Z3 {9 T
    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:
    $ t% }8 Z+ }4 m7 ]: u5 s#Lesson 1* `6 x- \: B3 f1 z" s% b: f
    hello
    1 `3 j, m2 X3 x1 a2 Oworld' B  G' t3 P4 X! ]+ o9 N9 K
    #Lesson 2
    2 M  c/ z: H- \this
    0 F6 a: n# i: A1 e: {6 Qis
    9 H9 X+ V& C6 A0 S, k6 d$ Ta, d. _6 d& W/ g- x' i) Q0 J
    test
    4 i2 a) i7 Z4 v#Lesson 3
    , i5 g- J& ]. W- g9 v....
      j: D1 o" f$ W( x# ~! A& |7 \9 w, z
    也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上# K  Z8 P+ l& v* }* a9 }
    也可以编辑一个json文件,不再赘述。+ x, }% {) k5 M8 C- [2 i9 z

    3 Q, J' w8 U% U; \) a/ o4 p; y然后在命令行下运行7 X2 j/ b/ L3 n$ j* i
    MdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】
    3 W& z* k) I/ S4 o2 }- g% }% {" w  ~; ?
    注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数3 k4 `/ i# n+ f  O; t
    --invalid 0 立即退出
    ; d+ \3 \5 U. k0 G--invalid 1 输出警告信息到html/pdf中& o; V$ g" _. }( l" y
    0 h- J; ^& X+ E/ {8 h, _) Z
    用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]/ F. d8 ~' a! E" B" S0 w2 K. y
    2.                         mdx_name input_name [output_name]
      3 i7 Q6 e$ [' T9 H, ~# b
    3. positional arguments:% B1 \- `, d8 e+ i
    4.   mdx_name) Q- Y* Y$ i- G
    5.   input_name
      ( N3 @" G$ c4 l* _" C
    6.   output_name- Q/ A: M( A- E# |: g$ T5 R
    7. optional arguments:
      8 e/ F; J4 w9 e3 k0 D2 m: T
    8.   -h, --help           show this help message and exit
      ( Y- Q0 _. ~  [9 O% U
    9.   --type [{pdf,html}]- y7 e8 ^2 Q' ^: P: X
    10.   --invalid {0,1,2}    action for meeting invalid words
      ; d4 O! b' z4 G" {% J, Y
    11.                        0: exit immediately
      ( f, O. V" Q& `) W8 J* y4 ?
    12.                        1: output warnning message- y8 @; f! Y- g
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码

    5 h3 M2 o4 [5 V
    + G2 R  |2 V: Z6 G, i) n
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码
    ' P% X5 O% v0 {& ?, z: q
    3 J% z. H; a! c- n
    输入2 t2 r6 P4 q5 H3 D7 k( N
    txt 示例
    1. #Lesson 1! ?9 c" m. S; S* Z# g! U  ]
    2. hello* E9 x6 @6 i; v: ]' k" p9 V; K
    3. world
      5 b) V: S; z! ]* F/ V( E

    4. ; d5 ?$ E1 s9 [
    5. #Lesson 2
      5 L; B( _  G- X& q) M: K0 U
    6. python/ G1 B0 S& @1 r& [: H1 b
    7. is
      % V0 R) B3 y4 j. v9 P
    8. awesome
    复制代码

    3 d0 l6 v  k# ojson 示例
    / N( K. K* q2 b5 _8 u6 s# y. d
    1. [+ T. ~/ D6 N8 o7 Z( T1 t! O9 F
    2.     {
      ) ^4 V2 B9 P& ]4 p1 r
    3.         "name": "Lesson 1",( G0 L$ H# Q9 j* ~) a( {+ l; z
    4.         "words": [5 w, w$ {: s& }  N( A
    5.             "hello",: K* U/ f) V8 R
    6.             "world"
      ( H) o. r, s* u9 y* x
    7.         ]
      ' H1 ^- ~2 S- ]+ F
    8.     },; p' K0 }: n' X
    9.     {) v8 q1 c- N/ \, h' f
    10.         "name": "Lesson 2",
      ( b4 }4 T: z$ S5 i( C) L' z- u" \
    11.         "words": [
      * K5 {/ R. k3 d% U) ]5 ~( x, p
    12.             "python",
      : H0 E# h9 {9 M3 p/ v
    13.             "is",
      - H5 H) F7 {$ q+ K7 W
    14.             "awesome". b0 I# D! |1 s
    15.         ]
      ( ]' I5 o+ H; p, q6 X% e$ T
    16.     }  ^! p; ?( S6 G% |, `9 w
    17. ]
    复制代码

    6 {" e% R' L0 [& u; W/ \excel 示例+ g  y0 S$ x+ O* [
    0 Q0 f1 s: r& O2 U; \/ D
    " l7 m' s5 q2 p8 o# }
    输出
    3 X9 ~( q; j5 \; E1 O(图片怎么弄都出不出来,我放弃了)
    ( m/ d+ e% }5 K2 i, U# {- mHTML
    $ \' D( T% d! J5 u: {2 M9 ~/ b; H5 }! L7 C* u9 `  w& n2 T2 j7 P, B9 W* i
    PDF) G' d7 Y8 X4 l: t5 b) Y0 w

    ! J- I7 M  q- s$ }' v6 k4 c
    ) P! I4 a4 h3 ?3 C# T& z
    / W: b* E4 f# I* k- R. Q* x, ]/ N7 _+ Q$ O

    0 F% B/ f: Y) d- X4 n/ v

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    9 Y: p; K. f) g* {- u8 V8 M1 s但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    , ^) O* u) k7 P% V1 g& I* t1 A
    可能是你选的词典词不够全。
    * ~7 D/ A  t1 D9 P9 y3 ~5 N反正开源的,你觉得怎么样好,可以自己改。7 O; U7 E3 j' Q9 U
    这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑 & N$ N6 f  _# G$ c3 k; H
    . @& @/ @; T9 j1 \* M9 O$ `9 K  `
    noword2k 兄:1 X' Q3 Y! E' N
    html 說明圖沒顯示出來.....: Z7 K- W3 Y* w  g# ?  o2 c
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html1 Y  J4 H. O+ ?
    2. 若想生成全部的 headwords 該如何使用.....  k' b1 f' A# w" R
    3. filename  可否和 headword 相同來生成
    , s' y8 R! ?" {& u( j  H# Y可否再請仁兄指點迷津解惑一下.....9 F& w) f: y7 ]. {, ?
    Thanks a lot; k5 J. E" t5 R

    * q1 Q( p* z& ?/ E
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:29
    ; A0 S4 J; Z* }% I% ~0 l热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
    6 W- [  R& l$ v& h$ r: W' a- W8 l( h
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    ! A% E. d  O, s" a* D$ I7 g但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。
    3 k: L1 M6 i3 W( P不喜欢用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:349 k, ~/ q1 J; M' I6 o1 x- }; W- P' z
    谢谢!下载了.exe后,怎么用?

    1 M: E0 P( B$ J3 x更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:11
    : `  k0 J8 Q6 W这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...
    % o( _4 z8 h# v! k! [5 |  v# ?) K
    更新了一下帖子,增加了简单说明
  • 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:545 k# p& i" a0 ?! A* |
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    5 i) a7 c" u) h# K- e$ t但是就怕用户不仔细看输出信息,从而漏了 ...

    ! X$ l) m) K  i$ |/ h5 y  j6 U( [) n但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    9 Y+ V) s7 h8 ~- g但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    ) i! @, e  _/ [( I2 B8 ^2 q5 t
    想了一下,还是从善如流,反正是举手之劳。
    5 v$ _5 g. z9 [+ F$ ?0 ^! z新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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
    : r6 N! M  ]* ~& X8 |) L4 O7 d已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...

    4 t5 d, j& n" |现在是找不到的单词,在html或pdf中显示 warning 信息。
    2 K) n5 L" f( `1 I# [& H2 }1 Q考虑统一放在最后,单独一组invalid words。' i1 n9 ?# s' t/ ~
    等有空再搞。
  • 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的每日心情
    慵懒
    昨天 07:31
  • 签到天数: 1729 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。
    3 g8 S+ T& d6 }- r, I; H7 U: q+ P/ y

    该用户从未签到

    发表于 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 | 显示全部楼层
    楼主太给力了 赞赞赞
    8 S  h- _9 y/ A
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-5 02:58 , Processed in 0.067090 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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