掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 7605|回复: 75

[工具] 写了个抓取特定单词,生成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 编辑 6 X6 A. `$ R8 \% _& b5 W5 H
    8 {3 b3 B" U( A$ `) }* X+ n% r) j* V
    " ?+ T: L: D- `1 l0 M) Q* P
    exe下载地址:% j! f1 Q+ y! H4 W& x0 W1 y
    6 n! B9 ?4 `2 L. x( E. B
    9 [+ i" k+ J( l) {! S# o+ @9 p% g
    一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。
    1 a( g# [4 {* l4 G: g8 I* D学新单词的时候,一次生成所需的单词解释、例句。
    7 f8 ~+ @& }  I4 m# y& _! C输入支持xls, xlsx, json, txt,输出支持html和pdf。
    # ~* Z1 |9 D  l这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。
    5 F6 a# O- D* R: |/ |
    " M7 {$ k' ?7 l5 b, x关于怎么使用2 w( P% }$ e- K* V3 G
    比方说你希望收集以下单词4 K" E& j& U" }3 S) u
    Lesson 1:hello world3 o  ]" I4 U% j% J# U  T
    Lesson 2:this is a test; j. R" y6 c6 y$ c; e4 B0 H
    Lesson 3: .....& y1 o2 A! P. v; O9 i- Z
    7 i& Y) r. B% A& R9 `. s: D
    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:
    ' P6 `' I$ C9 b, m) n1 b4 B& g$ z#Lesson 1; I: i& o: W4 u8 h# P
    hello- m. q1 w9 c7 q: g$ J" P2 k
    world, k' J* ~2 h! {% M
    #Lesson 2' {6 W. q) j5 b7 p" c2 P. I% L: Q3 ?/ c
    this* q" b1 S" ~& l* L: h8 a0 {
    is
    . z) i7 l2 c, P! ~) k: Ga
    6 J3 F& t! Q" g- j5 W8 F+ M7 {test
    9 g% a7 F2 O5 C* q( k6 ?' ?#Lesson 3
    * m4 u1 y1 ~3 }" O% L7 `* e- T....
    : m, m: w; J! O+ V, R3 F  `! h% l% d( P  m0 d, A! h1 }4 L# G+ e3 g
    也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上
    ( H5 Q3 l4 r3 L' e) b0 f也可以编辑一个json文件,不再赘述。
    & T' z/ |) c9 m( }' ^$ ^
    " U$ J7 z; ]0 ?' `  F然后在命令行下运行
    # C3 i2 x- B: t) E; B' S4 cMdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】3 }& M& L* Z, N& A
      H3 Z5 ~' r$ N3 G& g/ |% e* Y
    注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数
    0 g! G4 p6 x, E- y--invalid 0 立即退出8 L4 c/ K; n9 K. Z0 z3 [4 G
    --invalid 1 输出警告信息到html/pdf中0 t: _$ {$ ?1 s* P7 R+ }
    - y( y# g) c1 z: f) D2 }
    用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]
        q) J% j8 z& K' P( ^
    2.                         mdx_name input_name [output_name]  X) O& h9 Y# k; I. a$ i4 |* I9 l
    3. positional arguments:
      : o$ n7 {* V3 O: u1 t! |6 ?' I
    4.   mdx_name
      8 F( }1 D. S2 N3 S! P: s" m7 L5 S& E
    5.   input_name
      / J  [$ n! p2 g; I( I" [; [  Z. K
    6.   output_name
      4 k' @9 y) ^5 c
    7. optional arguments:$ j/ _: x: u7 R4 s- Y/ y/ j
    8.   -h, --help           show this help message and exit" P0 k4 _" G+ u
    9.   --type [{pdf,html}]
      0 M0 ~( O9 H+ \1 r( }
    10.   --invalid {0,1,2}    action for meeting invalid words0 L, K1 i0 S' ]4 e
    11.                        0: exit immediately
      # g6 _' w! r: {$ W
    12.                        1: output warnning message( s8 ~5 S* g5 c. \# i4 R' H
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码

    $ z6 C# Q7 V  M0 O
    : _1 m1 B7 i* m% D* j9 h
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码

    6 M* S+ ?) X0 Q5 `& F; \* b6 q+ G5 J3 O8 {
    输入% O- h- D' J$ W" d
    txt 示例
    1. #Lesson 1& u% X: F  W7 n9 m7 p3 F  o
    2. hello
      + O* J2 f( A4 F
    3. world& K4 e( Y. V) i
    4.   j& G% }+ G5 f$ O/ [
    5. #Lesson 2& ^- t" D' `3 [: K
    6. python9 ~% l/ V- |4 l5 T0 p# V
    7. is
        R6 Y, v% o: K1 N  I# r
    8. awesome
    复制代码

    - c; n& q. C4 M, W, {$ U4 R) K3 pjson 示例
    5 e& [; N: j+ X6 I
    1. [
      8 n# ~' p/ o  a; J  u) g
    2.     {
      # F  ~( q4 w( P
    3.         "name": "Lesson 1",6 l8 v. E1 q( c/ H0 `0 X# ?
    4.         "words": [
      7 N* t/ X/ U6 u1 d; U. j
    5.             "hello",
      1 e$ d: Q) Y. ?6 {
    6.             "world"
      ( n  U! F7 o. \! [
    7.         ]
      8 @, x( t5 i* \4 q/ A- x% @
    8.     },
      6 H% I0 |+ i! H8 `' C
    9.     {+ [6 y; H: B) N' M* q( Q
    10.         "name": "Lesson 2",
      0 ~* ?2 @" p- u, M6 v
    11.         "words": [4 F2 a2 n0 q8 y2 u
    12.             "python",
      , X2 C$ B* C# ~
    13.             "is",
      $ y3 X! q; E* K- f  t7 o
    14.             "awesome"9 O: q) h" S/ l6 y2 e) R
    15.         ]" _3 s" v" C: b1 I6 B# p. z0 L
    16.     }# K# e' L. ]+ ^+ T) F& W- `2 c- r
    17. ]
    复制代码
    2 ?$ W3 M/ g; i5 }5 {
    excel 示例* F' L! H; P: A, e
    4 p, m. y8 O) A4 _; c* {0 j# C
    6 y+ B& I! I7 h$ m4 K
    输出
    # u5 G+ c( L% N1 L' a2 j  W% U: P(图片怎么弄都出不出来,我放弃了)) v% E3 h. d# S( U7 A
    HTML
    " Y+ u- b7 s; v  ^( ]' t, j% i, D8 d7 y% i4 X6 X5 c1 X- i/ O* t* {* }
    PDF3 y6 `! I& v# w

    8 c' U( \+ {: s& w& q$ X5 |2 N
    6 i  ?+ ?: T; k

    - a% z$ k4 C2 y; e
    4 ^0 t/ T7 \2 L% V; d6 p' r

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:336 _# p# l9 J* Y' @6 d
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    6 N1 D+ _# B3 f4 U: h; \2 G; W- `可能是你选的词典词不够全。
    1 C9 j6 s) Z" ~5 i. p1 |1 e反正开源的,你觉得怎么样好,可以自己改。
    . Q& @0 Q/ i# |, B/ B& K4 @4 A这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑
    0 G, ~  k; y, m7 F, A. f( i' g% t& J, V, j- F" E1 ?( L
    noword2k 兄:- O. [9 T; G3 i5 L% x3 `+ {0 j. I
    html 說明圖沒顯示出來.....( Z" {8 _8 D" C6 t) }0 D6 \" k- k
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html
    0 T" U0 a+ J; ?+ y$ @: Q8 H2. 若想生成全部的 headwords 該如何使用.....7 {( [& E$ k8 C/ l5 g  ~( b2 d
    3. filename  可否和 headword 相同來生成- [1 e) r, _, O! K- g6 j; F. P
    可否再請仁兄指點迷津解惑一下.....
    * H8 X  L" ]3 \1 o/ q* S% uThanks a lot
    ( P; D" @' w1 S; C* Z1 v9 Q$ M( p+ L1 h! w+ E' Q9 j$ W  d. U% n
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:296 W/ D! T* {3 f3 [# b6 O. a
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
    8 N5 L! B9 g! f( o2 t) Q
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。6 Z. m% D# x; u) |& s
    但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。2 k* U2 f+ {) F8 h
    不喜欢用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 M5 E6 V, w7 C0 w& G
    谢谢!下载了.exe后,怎么用?
    $ j& f' A7 x1 |* w) I
    更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:110 o  _0 ]; E. V; |3 _
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...

    % e+ x1 f2 o# |9 }, z1 p1 N2 U更新了一下帖子,增加了简单说明
  • 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
    0 `+ L- X: C3 d/ o可以判断返回的结果是不是为空,为空的话输出警告信息什么的。9 E  I4 _5 }( C. [( b
    但是就怕用户不仔细看输出信息,从而漏了 ...
    " j/ a& o. S- r$ G1 f4 `" n% @, e6 L4 L
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33/ c9 w7 c! M; t2 y
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    3 W1 Z7 `/ e: U' ]/ M; Z6 o想了一下,还是从善如流,反正是举手之劳。
    8 H& Z3 P! }& W+ |" O+ k新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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& F7 P; z, r) J/ `% V6 B% P  _
    已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...
    7 A8 U4 D# q* u% t! @9 |
    现在是找不到的单词,在html或pdf中显示 warning 信息。
      J( }1 k- g/ b# G/ p+ q1 r考虑统一放在最后,单独一组invalid words。
    2 Z( V' o& M0 x3 w* {2 @; K) u; X, k等有空再搞。
  • 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的每日心情
    慵懒
    6 小时前
  • 签到天数: 2051 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。: Y  b& c1 s$ d' o$ d
    0 h8 M$ M" s1 ~; [5 i7 S$ B

    该用户从未签到

    发表于 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的每日心情
    开心
    7 天前
  • 签到天数: 973 天

    [LV.10]以坛为家III

    发表于 2020-3-22 16:34:57 | 显示全部楼层
    楼主太给力了 赞赞赞, y: E: g3 l4 V4 y. v. Q5 j
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-12 17:23 , Processed in 0.026931 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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