掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5545|回复: 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 编辑
    6 D7 \: d1 V0 O7 I8 R% ?, S4 E+ C
    ; h) ]8 u, \$ r( t$ ^4 P
    exe下载地址:% E8 Z1 p  m. {* s# O
    , s9 N- v% g! g# Q3 {

    . Q$ B5 x1 ?5 Z一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。
    1 `3 Q) @  f) L1 ^- a4 c: j: ]学新单词的时候,一次生成所需的单词解释、例句。7 _+ a& b" D1 X0 F) N! @. A+ Z3 l
    输入支持xls, xlsx, json, txt,输出支持html和pdf。
    ! G  y( n4 Y5 {/ m. `/ x这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。
    * _! o2 m, y1 ^, T5 y3 V% ^( o8 t* `0 u# H+ ]5 i4 ?/ Q) R
    关于怎么使用
    9 C& x( o" v* e, ^8 a5 w8 a比方说你希望收集以下单词
    # D. n1 y* P# {- W0 n6 [Lesson 1:hello world8 R: K3 e( S; o  _/ I: j& j
    Lesson 2:this is a test
      }- E4 J3 _7 y" h7 `6 E9 FLesson 3: ...../ M+ b6 I0 F" m7 k& ^: G
    , T  K( k. }' e& D" D
    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:
    4 \3 I" g$ r  M1 U" o#Lesson 1
    2 Q; q4 B/ \1 h+ Mhello& M1 b( _; R3 {! q8 w
    world
    ; Z- {8 F1 g. z" V6 {8 J  Y#Lesson 2
    7 N: }' Y7 p; t$ a7 I3 ]7 dthis: Z+ V5 \* Q7 C, L0 Y
    is1 [* h( z+ ^4 t
    a
    & j4 B. B- @7 c& B5 S6 |! ctest9 W  @9 K" L* c' p0 F7 ]
    #Lesson 3; x; |( h# o0 P# r& }' N
    ....) e+ g9 ~3 |0 n: h* K

    3 @5 j0 Y( d0 I" T6 T' E+ \+ s也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上
    7 L! `5 V3 v0 N也可以编辑一个json文件,不再赘述。
    9 W1 _) ^  R2 Y5 @7 n4 _  A9 P. X
    6 M5 U8 l' K, r$ z然后在命令行下运行
    6 T) D; d0 a- g6 y- T% RMdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】3 i1 s6 ]2 Z7 D$ j$ N

    , T! T; b6 h% l: z2 i& D注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数
    . L6 v- r* X9 _4 J9 m: N6 Y1 L/ O--invalid 0 立即退出
    $ P& C$ I0 L. B' [& q/ U--invalid 1 输出警告信息到html/pdf中  Q1 A/ i5 l( S# J- r: }. [

    5 h( i- A4 n1 G$ d9 J用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]
      ! s; ]# b0 |  `% F9 J0 t3 M. @2 z9 Z
    2.                         mdx_name input_name [output_name]7 K# U! Q. d$ u- j3 P# f* ~4 ~6 L
    3. positional arguments:9 }  I% S/ a) D) f" j5 f3 I: n! @
    4.   mdx_name8 u8 p- `* n4 N* P7 a6 a) x
    5.   input_name! E3 V$ ?1 S7 r4 G5 W0 A3 w5 ^
    6.   output_name
      ( |7 |$ g9 V6 _0 J1 z, u
    7. optional arguments:
      , ^7 t4 s3 \3 ^; I
    8.   -h, --help           show this help message and exit( ]7 m: A* T4 b) j
    9.   --type [{pdf,html}]3 s$ _  m6 i0 k" X' G& Y
    10.   --invalid {0,1,2}    action for meeting invalid words
      ' S7 L" \* K- z2 v+ s4 W7 r1 C% Y( n
    11.                        0: exit immediately
      ; k/ ?2 Q; q; v) m# u4 x3 b
    12.                        1: output warnning message: H: x9 s( e" D) b4 E. R* m
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码
    7 M* ]* }- V, V" O0 W# ?$ s$ Y
    + T. T+ M* y) S$ S: F( P5 w3 l
    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码
    5 ~( C5 h+ A  T( N
    1 e1 t* Y* h$ [( u
    输入& n& v% v8 D8 P
    txt 示例
    1. #Lesson 1
      1 X# v0 l- T2 C* w- R) z  [
    2. hello
      : l! X1 a- D# N+ J  Z+ U8 m
    3. world! u1 _0 k3 b: H4 e% J1 M% V
    4. 4 Y, f4 Q" \3 v$ d
    5. #Lesson 2( |: D  K  S' `
    6. python( d; K# S  P3 M& n6 \- b
    7. is
      4 ^7 Z3 G& ?# G" p! G) w9 ?
    8. awesome
    复制代码

    + D) J5 }" C5 L' t- Gjson 示例
    - f( I, A6 ]- B& t8 E
    1. [
      4 ]2 W: }& D. n6 m6 }
    2.     {5 A/ O0 H3 O; I8 u7 h
    3.         "name": "Lesson 1",. P' }! Z+ |8 D' u9 x' {* X2 k( [6 c
    4.         "words": [, h" L! }! B, {/ M1 B) @$ e
    5.             "hello",
      7 V+ b, J1 S1 d( l3 A/ t
    6.             "world"; C- W" ^- A2 r' M- ?; D" E
    7.         ]
      1 n* m8 K7 ]" ]" E1 q+ t
    8.     },
      ' ^; g4 }1 D# T: ]: ~3 i; v9 C: \
    9.     {
      ' r1 b# G8 c% w" w5 o
    10.         "name": "Lesson 2",
      % _) \0 K0 P: ?3 K
    11.         "words": [
      2 S  N1 l! T# D" \* O( n6 x
    12.             "python",3 ?8 z  a/ C9 s3 Y4 g3 |0 ~. z
    13.             "is",* O7 |9 G: @, H# |' X
    14.             "awesome"
      - l% l+ [, B1 Q% r
    15.         ]
      1 M: c$ p, v3 I! C' p/ J3 D
    16.     }2 @2 \$ E" q; X, k0 ~, ~
    17. ]
    复制代码
    & I  O, ?: a( g) g  Q
    excel 示例
    9 S+ W* d+ g" l7 s) E0 u( D# R7 `* w7 Y2 c3 L" c9 |* ?6 w$ k+ s
    ( y% w7 M' A4 R* W
    输出
    2 w- L) T$ A* }2 d! G(图片怎么弄都出不出来,我放弃了), {* o/ |' r! N1 Y# A( _& j
    HTML7 }4 s1 N) w8 c( Z0 A# s7 [
    1 F  u& l6 g, f7 v+ ~" @% K0 P
    PDF
    1 [/ L9 M4 `5 x7 e. C
    . A% ?0 @6 V: }
    7 F8 ~; N6 M& J! v: ^. a) M4 K5 ]/ B. R$ g1 @( C) }

    $ M( D6 i4 t1 c
    , {1 e9 b* c# L# r* I

    本帖子中包含更多资源

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

    x

    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:11:44 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    & B" i) F9 H# V; h但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    2 S. U. s1 Z8 C3 b  H
    可能是你选的词典词不够全。; s3 r% W: H/ @  u/ a
    反正开源的,你觉得怎么样好,可以自己改。
    6 B) e1 P, x4 ]8 g! @% U3 S这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-22 16:12:31 | 显示全部楼层
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑
    1 h0 _, @' f7 x. U" ]0 x" V4 }0 ^- r  r* `4 B5 K6 q
    noword2k 兄:; Q, e5 K, x) \+ j
    html 說明圖沒顯示出來.....
    & r/ Q1 y2 O( ^. C. \! c; K4 T1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html7 H9 f. V: W* m% b2 A/ l, h3 T3 h
    2. 若想生成全部的 headwords 該如何使用.....
    : b' ^: g' p) _$ {0 R) ?' H9 _3. filename  可否和 headword 相同來生成2 ?8 e% ~" [4 W2 [: Y, L$ _
    可否再請仁兄指點迷津解惑一下.....5 z. {/ f3 E' l& C9 f- D
    Thanks a lot
    2 f# j! `' j$ Q5 @
    : I; @2 {( b" a, t
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 17:54:45 | 显示全部楼层
    johannhuang 发表于 2020-2-28 15:290 ~* q% W# y$ H. l/ E' k* U1 Z5 Y
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
    1 U9 x/ S% n$ p' h2 x
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。) N, g# Z. @( M8 l) c9 K; d
    但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。
    - |0 y& d) ~+ Y5 A3 F6 |4 n: c不喜欢用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
    ; U1 h+ C1 t8 D7 j) C+ C- N- v/ V谢谢!下载了.exe后,怎么用?

    , ^  B8 j) F( l更新了一下帖子,增加了简单说明
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-28 11:48:50 | 显示全部楼层
    neilzhu 发表于 2020-2-28 11:110 x  J0 @4 M  J8 ?6 q
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...
    " l; E3 a$ l% x8 c( r. _; V# d! {
    更新了一下帖子,增加了简单说明
  • 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$ e- V( V: w3 D  K$ N" `$ F0 J3 ^
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。5 R" ^: w$ W$ M/ H
    但是就怕用户不仔细看输出信息,从而漏了 ...

    , I- ?6 Q9 k, i# `- o5 x但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-2-29 08:45:05 | 显示全部楼层
    johannhuang 发表于 2020-2-29 05:33
    , z5 O8 V* S/ Y& G但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...
    7 `, t* V3 C  E7 H, n: ]( u
    想了一下,还是从善如流,反正是举手之劳。* \* z# x: |9 `$ o' Y
    新版的遇到没查到的单词,会显示警告信息,然后继续。
  • 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
    0 K: x: X: A2 t) x7 @, |( c$ b已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...
      z0 S- }8 H% g- \! y  {8 r
    现在是找不到的单词,在html或pdf中显示 warning 信息。" Q' C. y; d$ i% g5 s4 o/ G
    考虑统一放在最后,单独一组invalid words。
    2 D3 B9 m6 W. e9 j3 @! H  R) }等有空再搞。
  • 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的每日心情
    慵懒
    5 小时前
  • 签到天数: 1721 天

    [LV.Master]伴坛终老

    发表于 2020-3-9 03:20:40 | 显示全部楼层
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。
    1 l  ^$ `0 q% b8 e' `- R) u
    / @8 S* G1 m6 B/ J3 b% _8 D

    该用户从未签到

    发表于 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 | 显示全部楼层
    楼主太给力了 赞赞赞, a& j% m7 K5 `2 K1 f
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-26 12:31 , Processed in 0.100616 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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