掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5575|回复: 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 编辑
    * J6 h+ P$ s+ C+ ^  l5 R% e  ]1 r) B9 E9 D( D. X, C& `
    3 |& D5 |: t3 k, j3 V6 E7 i3 C) ?
    exe下载地址:- r! C  z: d4 L' u* ?
    " {# M8 K" S6 _  c) @! h
    " s; c  N1 C3 @
    一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。4 L1 `# {' V( c
    学新单词的时候,一次生成所需的单词解释、例句。
    3 u1 d' v" r% y0 f输入支持xls, xlsx, json, txt,输出支持html和pdf。1 B5 n/ s+ w; b  c1 ^9 p' L. g
    这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。
    6 U; J& @1 \8 a9 D9 V$ a4 r$ Y5 p* r2 c
    关于怎么使用2 a: \, \3 p1 A3 ^& c3 |1 Y
    比方说你希望收集以下单词4 p; a5 D0 ]& d" H' C1 B3 l
    Lesson 1:hello world
    , x. j  K" Z& xLesson 2:this is a test
    3 M6 A* H8 \# [Lesson 3: .....) r% y" ?- H! R  ?( M) {5 t4 l" h1 Q

    ! _9 Y) s% K2 A% S6 U9 F* V! `你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:9 B' b0 Y6 Q  E! `, I! M
    #Lesson 1% p# K0 Y; w" R' B7 m1 v4 Y
    hello' s- W8 h3 P1 w2 v9 h# O: L
    world
    8 d$ O# L* U5 p  h  n#Lesson 2
    9 [  ^$ H6 @. F% f; J* E! Y% ythis2 l& u' U5 a: h# V, r
    is, B6 S9 f  `. m4 l) ?
    a- H# J8 `5 j& r  V/ f- x
    test
    + O: W5 f) b6 d6 c+ l#Lesson 3
    % Q( K8 n. R+ V: c2 _; h..... w6 X, K5 G8 A1 G2 b( V; @, b

    / W) t( D! {8 s也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上
    ' l  b# p! ^' v  ?也可以编辑一个json文件,不再赘述。- k6 F" S% d* Q- K& P% v1 i

    4 i; m# f; o) I$ w( k5 A然后在命令行下运行" k  `# z9 l7 X8 p+ t0 m+ u+ D) L
    MdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】
      f2 `2 x) Q) k3 P1 D$ G2 G5 }
    # ^; F& V. F  ?9 l注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数
    ) e9 m! ~: G+ _--invalid 0 立即退出) X# Y% y, E( I+ Y$ t
    --invalid 1 输出警告信息到html/pdf中, G; Z8 ~( T) U# y* p& j( F
    1 E6 K9 j  R/ R/ ?( o6 ^1 S/ u: u
    用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]( D: P( o" G8 s9 `! g, d% f
    2.                         mdx_name input_name [output_name]
      $ _( B0 g1 `/ }- ?$ b. Z
    3. positional arguments:
      0 ]* Q. t  i3 b$ n$ k1 \: }
    4.   mdx_name
      ! u7 V' x: p. u8 U- P
    5.   input_name
      % g4 m% e$ Q' p5 h- a: b
    6.   output_name  {0 p1 V* M4 _
    7. optional arguments:  X4 _6 \; ~- }
    8.   -h, --help           show this help message and exit
      7 o* o  n0 C7 d$ J3 N' T& V
    9.   --type [{pdf,html}]
        J0 R" p% \9 L8 ]8 K. R1 T
    10.   --invalid {0,1,2}    action for meeting invalid words
      ) D0 {' y1 S+ }4 V; R  T. u
    11.                        0: exit immediately
      . p2 o9 E7 ?- Z, I% k7 s
    12.                        1: output warnning message/ Z' b- r. R4 W2 E0 D
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码
    ; {: W! P. b/ y, i7 _0 h1 P; B6 b# ?
    4 a3 D+ _, R& i
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码
    + I+ Z0 d2 l9 v! D4 {. ~" n
    + o) V- n, S0 x2 Z
    输入) j0 j4 y  Y* N& y
    txt 示例
    1. #Lesson 1
      & ?* y/ G7 _7 a+ \
    2. hello+ s% w9 g4 w  G4 D
    3. world
      7 d" [: y% ~- c  Q

    4. + {4 H1 Y6 L1 f5 r+ ^/ n9 z1 }
    5. #Lesson 2  A( I- t8 q1 F' |6 u
    6. python
      , L7 ~: r" A) D: c6 u
    7. is
      5 g1 u2 ], V- [* C
    8. awesome
    复制代码
    9 C- n8 a% F. U" J) Y7 [
    json 示例& ]2 u$ Z9 T+ o- r, N
    1. [
      . i6 N" h& @" U2 f2 [
    2.     {- I5 Q, s6 |) |  O% F: V
    3.         "name": "Lesson 1",
      % ?4 B8 {2 Q) L$ D
    4.         "words": [) o- w# `2 ^( T/ l  P* f# M5 K$ T
    5.             "hello",
      ! D+ d/ \1 A" i1 s& z; ~
    6.             "world"- u( `3 h# j, N5 w% q
    7.         ]2 _% [! }* r' P% c  o
    8.     },* |% w  g. j! r
    9.     {; x' M5 I  q0 e9 D( K
    10.         "name": "Lesson 2",
      ! x# G; V) a. ~
    11.         "words": [* g* Q8 `  `) w
    12.             "python",
      ' e+ ~* v9 o" x' _
    13.             "is",% _8 n4 s6 ~' o$ ]- ^0 ^
    14.             "awesome"' [2 O& N* [. b3 K, _/ P
    15.         ]6 T& D. m& U" \- F" X- y
    16.     }
      1 l& T$ Z4 C0 D
    17. ]
    复制代码
    , k; U4 s8 N5 Y  a: b
    excel 示例
    7 C5 k4 @. j9 F3 `( |
    ! C$ L1 e' v+ X( R3 c* y
    $ [) c6 G" n, M1 Q' J输出
    8 j& ]/ |. k2 {/ V(图片怎么弄都出不出来,我放弃了)
    3 P. M& d3 t+ S5 e. NHTML! r+ V5 N# y, T& J2 o1 ~; ~4 Q
    8 i/ c/ O4 p. x" [- [
    PDF
    9 i' j3 {1 L% |7 u) O9 u9 k; O2 s" q5 R, c& P" ^
    . E% o+ D3 n! L/ B, x: q" {7 m. o& p
    " ~* v) V; a. @' Y) ]1 D# [
    4 {8 E/ ^. G8 m' m
    4 D' a8 V; S3 j

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33* o7 I& s; A1 U- p
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    * H/ i6 q1 r, O" r0 d6 t% R3 o$ k% {
    可能是你选的词典词不够全。
    8 B+ S. _7 |" }: j反正开源的,你觉得怎么样好,可以自己改。
    1 m4 a9 w  m- O9 @* S6 p1 v这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑 1 g% B6 n& q4 r2 s4 M0 C2 w) D
    6 `  m& f/ D! y. Q" |- K
    noword2k 兄:  j5 ^* J% k: b) L; Y$ q2 O
    html 說明圖沒顯示出來.....; H6 e! O3 h! \- v
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html
    / U7 s( s8 S$ p8 x% O* y2. 若想生成全部的 headwords 該如何使用.....
    * K" V7 a: b5 @$ \: l' |' ?: A3. filename  可否和 headword 相同來生成
    , d0 Z  Q9 Y9 Z+ U6 Z. r- h0 K可否再請仁兄指點迷津解惑一下.....
    0 c5 ]7 s5 ]8 }9 N' ?6 w1 V+ DThanks a lot' q, L  M  O# `- q; I6 U
    3 y) H9 z: }+ W" E" u
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:29
    0 \, b" E8 c* f" B5 [9 N3 b热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
    - e6 J- i4 \, Y4 E/ y% u
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。2 ~1 f% r: p( I' @1 t% w
    但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。! W) o* T) H+ U6 x6 N
    不喜欢用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$ G" b3 n7 P# a. ]1 y
    谢谢!下载了.exe后,怎么用?
    . K, B$ h, ^+ h+ }9 y0 h
    更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:116 {3 u/ ]- z; e
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...
    ; S8 ], i2 F& O8 `& @
    更新了一下帖子,增加了简单说明
  • 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:54$ x. Q0 F  u5 {1 D5 B0 g: q" s2 D
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    2 l7 p- ?1 f& }- s; A% s但是就怕用户不仔细看输出信息,从而漏了 ...

    1 D% x6 J( U4 P# i7 D) w但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    % ]9 f6 c( ~( |8 f7 g* ~3 ~但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    ! U  {; A, A2 M想了一下,还是从善如流,反正是举手之劳。& t5 a, o5 P3 s! m8 }# `
    新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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+ J+ ?" T* B$ Y9 a+ ?' d+ x# W
    已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...

    7 P' @" c1 |/ ^2 P现在是找不到的单词,在html或pdf中显示 warning 信息。# o: L' r: _* Q+ P% E$ e  r
    考虑统一放在最后,单独一组invalid words。
    0 i! g! A' t6 t  }/ _- C. b' L$ D+ {6 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的每日心情
    慵懒
    13 小时前
  • 签到天数: 1724 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。" U0 C9 j3 D$ I" w$ @$ V; A
    6 l. u. f( l% F! E3 c

    该用户从未签到

    发表于 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 | 显示全部楼层
    楼主太给力了 赞赞赞
    + h3 S" D- j  _/ D
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 20:59 , Processed in 0.066658 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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