掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5567|回复: 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 编辑 $ ]- {7 V0 E5 L

    9 G% t- H5 F& {6 Y5 J" \' n; R3 u+ ]# H; ^" ^
    exe下载地址:
    & L) }+ E0 ~2 t5 |  o
    * o, `% X; J% z8 m: f0 w8 i
    8 {$ N2 Z) ^, e+ M# c5 B/ w一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。
    4 B& n) D6 _$ y# e学新单词的时候,一次生成所需的单词解释、例句。( O. C6 I4 ^6 _" s
    输入支持xls, xlsx, json, txt,输出支持html和pdf。3 P  i5 m4 S% W
    这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。
    - b8 J& F+ u' {! X0 e7 ?, l2 k* ^% I" O# V! I: p
    关于怎么使用
    7 g" A: E6 H, v1 c8 f3 y3 c比方说你希望收集以下单词# J7 R. r0 G# Y7 H- Y) A
    Lesson 1:hello world2 i0 \  A. k8 B0 Z8 m$ y- ?6 o/ _, Z; V
    Lesson 2:this is a test$ X. z) I4 G/ u4 J& j
    Lesson 3: .....3 T! S$ Y& z+ }  Z

    8 P, L' \5 R# S1 p" W( Y+ m; v! U你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:
    7 B. S1 ^8 c: ?4 e! |: F0 E#Lesson 1: k2 _! B" Z; K+ @0 b; {' X, X
    hello# W, _1 e5 }) q: x- g% r% [* u$ E
    world; s( Y  M: t* j2 z& Q
    #Lesson 25 k) u" I9 B# K+ z0 P2 o- K
    this+ T" T: M8 E  N# y+ W9 X" h
    is
    7 \8 o- |# Z0 @4 h# sa8 y7 p! a. y- d7 e# C$ N( ^
    test+ B9 `( y# D' M: U$ O% K# L: S7 N
    #Lesson 3$ f8 x3 q# X* B" `* w( L
    ....$ Q2 k7 D, S3 C4 g6 ~$ W

    . |+ ~2 [! p3 F2 n也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上
    , s( h" U- H2 m也可以编辑一个json文件,不再赘述。/ @0 I" E: O0 N2 e0 Q. A% H
    " i7 E2 p0 m) u, c- w) `
    然后在命令行下运行$ t# U3 ]- |1 p$ O
    MdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】7 k& K; z' U/ l1 H. e

    * s7 [; @! r( K; ~注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数
    % D/ z& j0 y' {--invalid 0 立即退出
    , @$ j" F, \, l' ^) `4 P( u, n--invalid 1 输出警告信息到html/pdf中
    $ m0 W4 R4 ^$ ^
    7 i' h9 w" f5 P# d9 \% s5 M用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]* C0 J  g+ t7 j7 I9 n! _3 ?- \
    2.                         mdx_name input_name [output_name]
      & \# r) w3 Z2 q; R  Q
    3. positional arguments:
      & Y# D8 Z) a# f: @& S) T( b# l
    4.   mdx_name/ ]* `1 `2 E1 C
    5.   input_name3 ?" `: W9 Z' x* g% W' k
    6.   output_name
      0 e2 Y, f: u* a! e
    7. optional arguments:, e8 v; ~- m& h) m$ [9 b1 }
    8.   -h, --help           show this help message and exit
      ( `) J7 D1 ^  b- G& o$ M; T
    9.   --type [{pdf,html}]
      ) ]8 Y( u# v1 m8 s# I0 V0 j
    10.   --invalid {0,1,2}    action for meeting invalid words
      4 g/ a- z5 ~' K% r3 y, x$ P
    11.                        0: exit immediately: G8 C7 W8 x0 [
    12.                        1: output warnning message
      , I* u1 f- G: ?* R1 h1 v+ m
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码
    % J) h1 C! [3 ]+ r1 W! n2 ?6 x4 a  f

    5 Q4 \; Q; W5 h$ \
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码

    ( Q' B! [: ^& A; I0 V+ w
    6 q- N/ \5 v3 S6 R+ V# D% T输入% I5 X6 z6 ]7 w7 g5 I' S
    txt 示例
    1. #Lesson 1) C3 Q& o1 Q8 W- i. s. o; @) w0 ~
    2. hello
      & y8 k( d9 N/ G  j* B2 i: p
    3. world: O( Q8 J+ x$ m: F! E$ x
    4. 3 y$ t# z2 L: b2 E7 ~% H! Y7 F: |, D
    5. #Lesson 2
      2 x9 R6 T4 k) a  N! F
    6. python
      * \) C6 F7 e8 X, b
    7. is
      . q4 A9 o6 G0 G! M* {2 e% ^
    8. awesome
    复制代码
    + m& x3 m0 e. a% b& O
    json 示例; }4 |0 \7 _& u- Y( G; }$ K7 Z$ e- g0 T/ Y) w
    1. [
      0 V7 Z& k$ f& Y- t3 K) K* f
    2.     {
      ) Z3 D' e' ]3 t  |0 k
    3.         "name": "Lesson 1",; C+ v% Z4 c. V# u
    4.         "words": [, ?8 y  k5 ]7 j6 L" l
    5.             "hello",3 |% ?  D7 W/ K7 \4 B' C9 x3 e* F
    6.             "world"5 n# L, Q/ N) A  V
    7.         ]
      ; e$ h. P  J5 M1 m' l. u' }3 y
    8.     },# R! N& K  H" G3 U2 K  W
    9.     {
      ; T% a1 n3 D- B% e% ?6 {
    10.         "name": "Lesson 2",
      1 y- p3 m/ l4 l- s# K& f: [
    11.         "words": [" k  T5 i6 _; X' {( ^: t+ @$ G
    12.             "python",* S% T" T/ q; Z
    13.             "is",
      ; s& F+ m. s2 `! S
    14.             "awesome"3 M) m' s8 Z0 Y+ V
    15.         ]7 R3 i. w$ s* s" y: o0 K: t
    16.     }
      ; p+ z1 j/ w; y) j  {3 a
    17. ]
    复制代码
    ( }, b" e! z' p5 X( u' l' v/ j9 ]
    excel 示例2 q$ k, l5 ~! {$ @- e, `# s
    # W6 x& `% C% e9 Q

    1 m! j: L9 F9 Z- \输出
    1 X, R5 J: Q. c0 q- |( W(图片怎么弄都出不出来,我放弃了)
    ; _' Q* F0 T# L/ XHTML6 T9 \( N6 p! Q
    5 A2 T. T' X' {: {
    PDF' N3 Q/ m1 Y5 s

    - d/ O$ Q& w, U" M. V  [- x) h
    " `- t8 M" M0 a6 H# T8 r; e
      v- S. A8 @6 B! I9 B( y7 x: G5 x; a7 K& S- |* o  I

    2 h9 ?' J( w0 w; {/ q

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    - a$ w3 i3 b3 C# L但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
      Q$ ^) {3 R( ^' i* m6 D
    可能是你选的词典词不够全。1 n, x, b8 Y' r: D" e' {* t0 q
    反正开源的,你觉得怎么样好,可以自己改。& Y7 ]: C1 y! Z" |0 g9 E  L
    这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑 7 Z  J; h# y% m! `, o4 i

      T. |' c; C" _  T6 j+ @7 r& ], L) Ynoword2k 兄:" V3 _! d: T% g! ?4 m
    html 說明圖沒顯示出來.....8 c! {+ u1 o, ^/ R
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html. `1 P( a6 v. L
    2. 若想生成全部的 headwords 該如何使用.....
    - z, Y, {" S4 D8 ^! x6 Q3. filename  可否和 headword 相同來生成
    4 W" I! `# H+ y/ Y+ Q' O可否再請仁兄指點迷津解惑一下.....- M" h+ p4 l  B1 S# K( e
    Thanks a lot
    3 t" y) T. m# `+ w
    : ?9 w& Z; _( u& ?' M; v
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:29
    ) J$ G- j% f" L( c# }热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch

    7 h* {4 U$ |2 H5 D可以判断返回的结果是不是为空,为空的话输出警告信息什么的。: y( f  @5 U$ L" |$ L* [& d
    但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。
    ! e- L% T/ T8 |& F) O: O4 [- Y" Z不喜欢用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
    % ]0 A. g! ~: V6 W; l5 J- W谢谢!下载了.exe后,怎么用?

    4 ?: `) a$ E4 a更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:11
    6 \. K! S& N4 |% d这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...

    4 ]% a4 p' |5 i; M6 ^# Q; h更新了一下帖子,增加了简单说明
  • 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
    " F: ~, J% D; [7 y, d5 C( ]  [可以判断返回的结果是不是为空,为空的话输出警告信息什么的。0 I# C, Z" A9 [8 Y, W$ @9 p" i% G
    但是就怕用户不仔细看输出信息,从而漏了 ...
    7 J. E) D# J* h0 H6 O
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    ! w8 c6 E1 H- e/ Y. t  Q但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    $ L0 F0 ^8 S% i# F3 R) I
    想了一下,还是从善如流,反正是举手之劳。4 c1 Y( Z+ S1 i  m
    新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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:177 d' t5 J' w/ J, p% T; o3 c
    已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...

    5 k$ ^' k+ q% X现在是找不到的单词,在html或pdf中显示 warning 信息。0 h" z% s+ B9 E: K0 c2 H: F
    考虑统一放在最后,单独一组invalid words。
    4 v, P2 S) n$ e) y, N+ ]' ^# b9 V5 H等有空再搞。
  • 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的每日心情
    慵懒
    10 小时前
  • 签到天数: 1724 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。& y& C; q) G2 i- w* _

    ! w( c7 {1 \# C2 J/ z2 h7 t

    该用户从未签到

    发表于 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 | 显示全部楼层
    楼主太给力了 赞赞赞! c+ R& D6 y0 E# \' k9 n
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

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

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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