掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 7586|回复: 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 编辑
    / q9 g# Z( ~4 f# L; ]+ e( l1 S
    & t" a" S" e. \" n. f8 {! ^! F5 H: B- O' g; n
    exe下载地址:! ^2 R  [2 h4 x, J/ E$ j
    % B! k. u8 o# k6 E& y

    " B) \$ W8 R) E! @( _% Z7 p( T; H一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。% h; R& {, R$ M2 j
    学新单词的时候,一次生成所需的单词解释、例句。( Y  j" I& Q" s4 P; H! P- e* C+ {1 z: ]
    输入支持xls, xlsx, json, txt,输出支持html和pdf。6 T9 w8 g6 C* e$ l
    这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。% w2 C' |* d7 {* ]3 ~; h; Q

    5 w8 ~- i5 Q: S6 [关于怎么使用
    0 \/ _0 C1 A' w; Y3 s比方说你希望收集以下单词( c/ d: R% N; {5 x- |
    Lesson 1:hello world9 y) Y; v% r$ r4 m8 L* p. I. m; q
    Lesson 2:this is a test
    6 @& S# C+ M( A% ~; yLesson 3: ...... P5 a  b7 L  ~$ {7 f( Z8 o
    % B% J$ P; W* y$ o
    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:
    % K. z. y2 K4 X" M#Lesson 1* |* h! Q+ y$ `" z) m; d0 _
    hello& f( Q# i* h. y  P6 u& E
    world: k3 g8 q* }# \# E; }
    #Lesson 20 D9 U9 E1 p5 w4 S- f, q! h
    this
    & [2 k) o  C5 X% v7 o" zis% F0 Q) B; h3 G6 M, M7 X! x
    a
    . k. [9 S; n+ A9 ftest' ?* {2 V+ h/ i- g' V  A+ }; \) i$ U$ R
    #Lesson 3
    # z6 f, E( n3 z' t: t+ k....
    ; J. p6 n* ^. P6 q
    & J# i5 l7 `$ I/ ^2 _$ B2 f& x也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上
    5 g" i& Q; u  _1 n5 f4 i, j2 X6 \8 A" v也可以编辑一个json文件,不再赘述。
    * O# |+ {) p9 ?# l5 m# H4 Q- ~# D4 Y. A% C8 X. F$ r
    然后在命令行下运行
    ) d6 q* E3 n6 R! D1 J0 ~7 UMdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】
    . b2 N# W- ^0 u4 `+ X: S( z* Y: d/ n
    注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数1 H9 ]" Y: U+ O* W0 S- X
    --invalid 0 立即退出
    $ f) Z& B% N- k4 i, }0 e5 n9 Q--invalid 1 输出警告信息到html/pdf中
    # T9 v6 p  _: h6 ]5 Z. a: V8 o# }" m$ W. j% ]* N) v
    用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]
      + }" v: E; x" `" q( R
    2.                         mdx_name input_name [output_name]* g2 ^0 P' |+ c; ^* P/ Q
    3. positional arguments:9 _5 g* F; n0 }' \7 H; H
    4.   mdx_name3 o, V$ s: T( U8 q- G+ i
    5.   input_name, B- P2 w9 Q$ Z! Z3 }+ W. u+ ~; Q
    6.   output_name
      + K+ ]" H1 ~- z8 q; l7 K/ [- A
    7. optional arguments:
      ) ~8 ]/ k5 g/ C# Z2 e/ T2 y
    8.   -h, --help           show this help message and exit3 a9 {8 U; R+ u6 S+ }( [
    9.   --type [{pdf,html}]. `1 o2 G+ y+ z4 q( y: Z$ m; R0 y
    10.   --invalid {0,1,2}    action for meeting invalid words& z! V  o/ w# _5 ^2 x
    11.                        0: exit immediately2 O/ w: Z" B+ k7 M' }& p# t3 r
    12.                        1: output warnning message, s! B& K  Z& n' a$ M6 D
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码
    4 `& J8 q! O: O! _4 P

    - |5 \; w8 X: i: m4 B7 w
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码

    , T5 l7 a# j6 a4 E3 I5 \% \
    ; a$ W- b  E/ w# u6 s& q- K输入
    + A8 G* @+ @. K" H5 |txt 示例
    1. #Lesson 1" R3 n& g1 ~$ n4 q* N  q* F
    2. hello7 S7 t0 E: w# D+ i' g
    3. world1 y7 H: e, }/ o2 p
    4. # z2 H0 r' Q" c: Q+ {
    5. #Lesson 2+ B# P1 g- ?; e; e% Q7 A: o
    6. python7 v* G, I% q% z6 D# W( B
    7. is
      1 g- p! ?  M* d7 D5 Z+ }
    8. awesome
    复制代码

    4 z" A& C/ M9 B. y1 q7 Ujson 示例
    ( L8 T% @4 c# @+ V) K$ b" E
    1. [' W9 C8 q0 r  |/ D- J
    2.     {, l+ F6 G/ s8 I6 c4 t! }! |/ n
    3.         "name": "Lesson 1",9 C( `" L: y  i! q. {4 H
    4.         "words": [% r" {. k" `- E$ e
    5.             "hello",6 Y; V2 U: U4 B* H
    6.             "world": w2 l- d; G" {; V% l
    7.         ]
      * j2 W! b9 d- }  n6 g: }6 r$ B4 M- ?
    8.     },
      1 t4 V" B- k' t1 N4 S
    9.     {9 C1 }* p8 X! X
    10.         "name": "Lesson 2",% p0 _9 `/ @4 z+ u- W" o! l
    11.         "words": [2 d- y" U* m6 p& J# Q
    12.             "python",
      ' s0 a7 P/ o" u3 V! e; u( M% Z$ |) B9 ~
    13.             "is",1 L; ]( x; G* K- p$ u" p
    14.             "awesome"5 t" {4 `. f9 L. m. }
    15.         ]; f* L$ s, z6 z( }* m5 C9 t
    16.     }
      # d/ ^. f5 K& l" D+ \$ C* p9 k
    17. ]
    复制代码
    4 o' x3 o& v: g1 K1 Y1 r$ o# W5 e
    excel 示例+ {( M" w2 x: {, X4 q% u" C# o, }

    % e9 z$ I: ]4 P2 n  f, Z1 i' `! W/ y$ E' `0 r- y
    输出" z7 H; Q) J1 y: F
    (图片怎么弄都出不出来,我放弃了)" N7 Q0 V4 K2 E' s8 p- H
    HTML4 K' I0 j! P6 P* O
    2 B# e2 ]% Y5 k
    PDF) ]9 u2 k2 Y0 V% T
    5 L" \/ h- r1 k8 o  g: }

    ( p6 n2 Y+ y- v$ l8 w* B, H7 K3 i6 l$ O1 T' @+ n1 o- P5 e- Z6 a5 c- u

    & ?! x* b, y( _2 H- H/ ?2 p
    5 m8 I; ~, d1 |7 j

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    ; f9 _5 J& P5 N4 Q+ U, z+ g' [但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    4 Q. }  @/ W! v1 j
    可能是你选的词典词不够全。
    & T, U' W- E6 w4 X& B1 y反正开源的,你觉得怎么样好,可以自己改。. w  I0 w, K% |' c& t# ^0 F5 S
    这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑
    - @6 Y6 g/ N+ _! S( X( z5 ^- r+ i% R9 u; w- u4 |
    noword2k 兄:
    " j, |% u- ?9 q& W) f3 [html 說明圖沒顯示出來.....8 K/ w0 C' S. M% [! Y: W
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html  n1 `4 k6 U9 H
    2. 若想生成全部的 headwords 該如何使用.....
    $ P/ t, ]8 K6 S/ L: L. F; e( y0 i3. filename  可否和 headword 相同來生成9 a+ @3 H1 j# T+ v7 o
    可否再請仁兄指點迷津解惑一下.....0 q, y! d) u6 F% S- D2 i# s% O
    Thanks a lot
    $ k# V* M( W: z) R  f( l; Y* \' \% i
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:29  i6 K& J2 w" Y( Y+ V9 G1 I
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
    3 O; T8 F7 \4 e" T% T& L" ?
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    ) ]& g5 t2 G4 H但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。
    + ?  w/ Y& K9 B# f* @$ p! 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:340 S% ~9 [# m" c4 L
    谢谢!下载了.exe后,怎么用?
    4 f$ p, l% p& a  v; V7 F- c
    更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:11
    / a  x6 K2 Y! M6 j这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...
    ' t- ]3 K' _; \: H% T8 m( Y% ^  q
    更新了一下帖子,增加了简单说明
  • 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. K! u) d$ E" u* o6 |3 b! _) p
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    # J2 X& Z4 z- r, X# l但是就怕用户不仔细看输出信息,从而漏了 ...
    2 r" l- [# O7 l7 C/ t
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33- l: `) w5 g. Y& n, f
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    ; F0 V6 r7 m) C
    想了一下,还是从善如流,反正是举手之劳。
    0 i6 {/ [0 D! n1 U% s1 ^2 t新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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
    : O+ ]+ C1 o& Y; u+ X已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...
    8 `: v! [! L, v! b% f  Z; j) g
    现在是找不到的单词,在html或pdf中显示 warning 信息。
    % y3 k" c9 ~8 X, G, q2 [/ C: p+ F考虑统一放在最后,单独一组invalid words。
    2 {: O! x. u, G6 w; \等有空再搞。
  • 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:37
  • 签到天数: 2048 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。
    # V7 W9 E2 o4 |" u9 W% _9 Z* f3 v
    7 }0 W; K5 y" s- ]; Z0 }

    该用户从未签到

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

    [LV.10]以坛为家III

    发表于 2020-3-22 16:34:57 | 显示全部楼层
    楼主太给力了 赞赞赞
    3 y9 L$ N# V# B. ~2 i
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-10 01:06 , Processed in 0.025375 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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