掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 11815|回复: 76

[工具] 写了个抓取特定单词,生成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 编辑
    ! r3 P+ v0 a: n$ {) d1 @( G0 N9 U4 O) L

    ! s8 w2 Y0 z3 Q) jexe下载地址:
    ; l) u" A6 i$ Y5 _5 p4 Z/ U
    - V: z) t% @: W# p( E# P# w! I3 M0 z' `$ `9 _9 |3 D  e7 z
    一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。9 D2 h. K  B; r
    学新单词的时候,一次生成所需的单词解释、例句。5 U$ |  R7 u" P) X
    输入支持xls, xlsx, json, txt,输出支持html和pdf。! }) `* X; E. J0 m
    这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。5 E7 Z* z4 u, ]" I# |# ~6 Z/ |

    / U# [' [' ]3 b& d+ b, d+ f7 g关于怎么使用
    ) F0 k, m/ L5 V: P- R7 s3 o( X比方说你希望收集以下单词
    + P& n4 F& N# s* ILesson 1:hello world: S2 Q2 n, \- h) Q
    Lesson 2:this is a test
    0 {% G( n5 p  V( H$ j9 D& [0 f( PLesson 3: .....6 ]  e0 G) A  r$ i: U& F9 P& E
    ) W! Y* T: J$ E0 P9 {
    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:( F  [. {# {0 I% I5 Y
    #Lesson 1
    : U2 g( Y% g; Whello
    6 f+ j1 ~- R: F$ A3 ^3 }; s3 wworld
    & l7 e# |+ K; M+ G) S3 ]#Lesson 26 e7 X/ c8 M& D6 w5 @
    this
      ~. P8 ?  w- yis, J2 d7 F6 p) N' @
    a
    ' ?& n0 C/ [7 W% w' dtest8 m; S5 G; ^" Q- G( G
    #Lesson 3
    & E1 q) M7 [2 z, r; s$ C2 D1 ~1 I....8 S+ ^# E* Z2 Z& A# L" ?

    1 s* P! G( B! K3 T8 G0 g# \3 k也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上: W9 p/ a4 y0 S( a5 g0 Z- {, L
    也可以编辑一个json文件,不再赘述。  O. P3 s) w$ Q, H5 f
    " i* N* V) J7 B7 Y
    然后在命令行下运行
    ) O2 X2 L, T1 O8 l7 n7 T+ o9 TMdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】! T' ]" |, B. x: `' V# q
    , t$ @2 S% N# n0 J' p. k
    注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数
    8 C( b( e0 ~* a6 y# ?) I--invalid 0 立即退出( t: o4 P( K+ V# t5 x$ z- |5 R3 c8 f
    --invalid 1 输出警告信息到html/pdf中
    1 n/ S7 s5 N) i" |1 O
    - T. c  {% I; b3 a用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]
      ; R1 r& p5 Y* d$ @0 J, E
    2.                         mdx_name input_name [output_name]+ x% }0 k4 D# [+ F5 R7 \, Q
    3. positional arguments:
      4 R' P- `) n3 B8 ~, m4 ~
    4.   mdx_name& T1 |: z2 @0 H
    5.   input_name
      # O7 y* A+ y$ {5 G4 M3 I& R
    6.   output_name/ q- C: O4 ]6 B8 b; ^* m
    7. optional arguments:
      ' z0 D! @& o9 B. J+ Z
    8.   -h, --help           show this help message and exit2 T9 }2 E8 Z7 F1 F
    9.   --type [{pdf,html}]7 S$ W/ [) _! j
    10.   --invalid {0,1,2}    action for meeting invalid words
      ' F% z. ]. \: p8 A! l
    11.                        0: exit immediately
      1 h; [6 f" I# Z( s
    12.                        1: output warnning message
      9 F# K4 z& t# D1 [# y+ t4 \2 i( F
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码

    ) c: g' j6 D- a: q
    1 ~2 P# V& i! l  V& Z: c
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码

    / {* N9 @3 b- K9 v. f7 _( A- e
    ) {6 j: S- V2 `0 C输入
    1 F% p# y  o3 s" j1 @txt 示例
    1. #Lesson 1
      0 T* H, p2 G( z2 P- t& ~3 Q
    2. hello
      5 H, Q  I' X  N$ v0 M  Y
    3. world
      . K1 C6 }( r, @3 Y4 R
    4. * J9 Y4 w6 ~! R: ~9 R
    5. #Lesson 25 h' J8 p/ Z: B. e
    6. python
      ' Q$ {; w* T4 ^- E2 z9 Z4 X7 m
    7. is
      / V+ \( v' R/ I" H1 G
    8. awesome
    复制代码

    3 v: z4 l  W0 g$ qjson 示例5 c, ]0 F& A; J3 |3 ?5 Z
    1. [! Q, S$ `3 t8 ?; c  b
    2.     {
      $ D" T& J1 R3 i9 O/ F3 c  ^7 k9 {6 g
    3.         "name": "Lesson 1",
      5 N1 F& Z2 E& n! e) q
    4.         "words": [1 j( e; N; }% l; `* \' {
    5.             "hello",
      : }9 r0 p3 v0 |4 g
    6.             "world"! s% p" d* x  A5 F
    7.         ]3 g# U8 _5 |4 h" x3 G0 k4 R
    8.     },3 P! U: `/ z% K, I
    9.     {
      - _# d- Q/ L4 e- P! i- S: J
    10.         "name": "Lesson 2",
      6 `& O6 E; C& \) M' \/ A
    11.         "words": [4 Q) u& }, S7 W) U. ^
    12.             "python",! B) v  l9 K) y( g" m- m
    13.             "is"," n6 \: p9 @8 `+ T/ a7 x- y! y! I  z
    14.             "awesome"1 g: G) J3 s7 t) I
    15.         ]! c5 j7 z2 t" o7 \: J
    16.     }3 C% |1 A! x% m0 x
    17. ]
    复制代码

    4 v* z+ P- A% t9 V. g; Xexcel 示例
    . N/ v2 N' z1 Q; L+ K* l6 c( r* X9 ]! t, |/ D2 C

    : Z3 H. q0 D' O# b( j9 U4 R输出+ M+ |4 P9 d' _+ z, o0 ^3 O- ?
    (图片怎么弄都出不出来,我放弃了)/ p" U  H' P6 \' A
    HTML& k3 R" `) X2 n5 X+ X

    , c3 V" H6 j, v5 JPDF
    ' \7 S  |# g! v& X
    % U5 I+ d5 J4 |) h, P# k+ e! H. C
    : N3 ~9 ]$ z( s* W. x6 Z+ p5 G. I2 H7 j+ Z1 g8 p

    . B  O- G) y" T, _
    ( @' w% a' i6 n7 \/ [

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    . L* Z! v. |# N. `3 P) e但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    8 g  G+ A; R3 o. F. z8 I- j) V
    可能是你选的词典词不够全。8 O4 L& j! `$ u2 X
    反正开源的,你觉得怎么样好,可以自己改。
    . O) p9 g2 f8 |. R. @7 q4 j这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑 ( O" C$ ]  B6 f6 w+ R. L, e. g
    ( t3 w. X0 l) ?. T; s3 e! I
    noword2k 兄:
    * H1 V7 G' e/ X7 v. P  h$ Ehtml 說明圖沒顯示出來....., S; M# B/ ]9 N# v1 c
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html3 }/ c3 d* c4 H4 r
    2. 若想生成全部的 headwords 該如何使用.....
    " U5 K" {" o& \& U* I( [3. filename  可否和 headword 相同來生成
    ; n/ Y& X/ q* Y可否再請仁兄指點迷津解惑一下.....
    0 a+ u% g% e8 y- A( }$ ]Thanks a lot
    5 A- `" E% H7 L1 S2 X' z7 h% v0 |
    ; o: j0 K" o$ w4 u6 l- i
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:29* R1 a# }7 u( |& J! x: [5 G
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch

    , x1 f3 b0 q  v7 ?7 ], G可以判断返回的结果是不是为空,为空的话输出警告信息什么的。( N5 x- W4 ~% a4 P" F
    但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。
    % ~' Z" H' f: X不喜欢用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: l% l; p  p( c- Z/ Y- `& f' U
    谢谢!下载了.exe后,怎么用?
    ( O. d2 z# z( e% Y" A
    更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:11
    $ N7 t2 C/ V5 G  o+ P这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...

    5 z+ ?+ j6 ~! y. D: j6 B7 ~9 o  Z更新了一下帖子,增加了简单说明
  • 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
    * q' P( T' N% ~7 ?# Y' i可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    - t) {: L& G" F* ^+ R6 p但是就怕用户不仔细看输出信息,从而漏了 ...

    % q& H; j$ k& S* V6 Y; `但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    7 J3 C( x/ i' N6 \2 U1 }7 Q3 S但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    - J1 v. E" r. `6 _" O$ h想了一下,还是从善如流,反正是举手之劳。
    4 f& G3 ^; }7 A  |/ _新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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
    ) R/ _- J6 y  N( i9 \已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...
    6 r, N* H" g9 W" C9 z
    现在是找不到的单词,在html或pdf中显示 warning 信息。
    / o& F1 i; n8 N* J1 A考虑统一放在最后,单独一组invalid words。
      h' L+ S4 I( b4 p等有空再搞。
  • 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的每日心情
    慵懒
    12 小时前
  • 签到天数: 2476 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。  o6 c# J( |. o0 R

    / N" h% N& N, N: t3 ^- a

    该用户从未签到

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

    [LV.10]以坛为家III

    发表于 2020-3-22 16:34:57 | 显示全部楼层
    楼主太给力了 赞赞赞
    9 z, c/ B( f3 A! ^2 I7 O
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2026-9-1 23:11 , Processed in 0.029044 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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