查看: 3344|回复: 64
打印 上一主题 下一主题

[工具] 写了个抓取特定单词,生成html或pdf的小工具 MdxConverter v0.0.4

[复制链接]
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    跳转到指定楼层
    1
    发表于 2020-2-28 10:10:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 noword2k 于 2020-3-9 09:00 编辑

    本帖隐藏的内容

    https://github.com/noword/MdxConverter


    exe下载地址:

    本帖隐藏的内容

    https://github.com/noword/MdxConverter/releases



    一个用来从 mdx 字典中抓取所需的单词,并生成 html 或 pdf 文件的小工具。
    学新单词的时候,一次生成所需的单词解释、例句。
    输入支持xls, xlsx, json, txt,输出支持html和pdf。
    这个工具没有GUI界面,我也没兴趣做一个GUI界面,不会用命令行的同学就忘了这个吧。

    关于怎么使用
    比方说你希望收集以下单词
    Lesson 1:hello world
    Lesson 2:this is a test
    Lesson 3: .....

    你可以编辑一个txt,一个单词一行,课程名称用#开头,格式如下:
    #Lesson 1
    hello
    world
    #Lesson 2
    this
    is
    a
    test
    #Lesson 3
    ....

    也可以编辑一个excel表格,一个sheet就是一个课程,sheet名称就是课程名称,单词排列在第一列上
    也可以编辑一个json文件,不再赘述。

    然后在命令行下运行
    MdxConverter 【mdx字典名称】 【输入的文件名】 【输出的文件名(后缀为.html或.pdf)】

    注意:如果有mdx词典中不存在的单词,程序会显示报警信息,默认动作是收集到invalid_words.txt中。你可以设置运行参数
    --invalid 0 立即退出
    --invalid 1 输出警告信息到html/pdf中

    用法
    1. usage: MdxConverter.exe [-h] [--type [{pdf,html}]] [--invalid {0,1,2}]
    2.                         mdx_name input_name [output_name]
    3. positional arguments:
    4.   mdx_name
    5.   input_name
    6.   output_name
    7. optional arguments:
    8.   -h, --help           show this help message and exit
    9.   --type [{pdf,html}]
    10.   --invalid {0,1,2}    action for meeting invalid words
    11.                        0: exit immediately
    12.                        1: output warnning message
    13.                        2: collect them to invalid_words.txt (default)                        
    复制代码


    例如:
    1. MdxConverter 某某词典.mdx input.xlsx output.pdf
    复制代码


    输入
    txt 示例
    1. #Lesson 1
    2. hello
    3. world

    4. #Lesson 2
    5. python
    6. is
    7. awesome
    复制代码

    json 示例
    1. [
    2.     {
    3.         "name": "Lesson 1",
    4.         "words": [
    5.             "hello",
    6.             "world"
    7.         ]
    8.     },
    9.     {
    10.         "name": "Lesson 2",
    11.         "words": [
    12.             "python",
    13.             "is",
    14.             "awesome"
    15.         ]
    16.     }
    17. ]
    复制代码

    excel 示例


    输出
    (图片怎么弄都出不出来,我放弃了)
    HTML

    PDF





    评分

    4

    查看全部评分

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

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    推荐
     楼主| 发表于 2020-2-29 08:11:44 | 只看该作者
    johannhuang 发表于 2020-2-29 05:33
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    可能是你选的词典词不够全。
    反正开源的,你觉得怎么样好,可以自己改。
    这就是一个我给自己家熊孩子写的,让她学新单词时用的的小工具,做好后顺便放出来,现在已经满足我的预期要求了。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79549

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    推荐
    发表于 2020-3-22 16:12:31 | 只看该作者
    本帖最后由 喬治兄 于 2020-3-22 16:32 编辑

    noword2k 兄:
    html 說明圖沒顯示出來.....
    1. 起問是否一個 headword 生成一個 html 檔案 or 多個的 html 檔案根據 headwords 多少個就多少個 html
    2. 若想生成全部的 headwords 該如何使用.....
    3. filename  可否和 headword 相同來生成
    可否再請仁兄指點迷津解惑一下.....
    Thanks a lot

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

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    推荐
     楼主| 发表于 2020-2-28 17:54:45 | 只看该作者
    johannhuang 发表于 2020-2-28 15:29
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch

    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    但是就怕用户不仔细看输出信息,从而漏了单词,干脆出错强制退出。
    不喜欢用try..catch,太丑,开销太大。
  • TA的每日心情
    开心
    2020-3-25 07:07
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    129

    主题

    2412

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17738

    灌水大神章小蜜蜂章笑傲江湖章

    2
    发表于 2020-2-28 10:34:18 | 只看该作者
    谢谢!下载了.exe后,怎么用?
  • TA的每日心情
    奋斗
    昨天 17:01
  • 签到天数: 1405 天

    [LV.10]以坛为家III

    2

    主题

    2805

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17306
    3
    发表于 2020-2-28 11:11:18 | 只看该作者
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用
  • TA的每日心情
    开心
    2021-4-24 08:20
  • 签到天数: 634 天

    [LV.9]以坛为家II

    5

    主题

    2595

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    18143
    4
    发表于 2020-2-28 11:28:32 | 只看该作者
    谢谢分享   好羡慕楼主  能自己写自己需要的程序
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    5
     楼主| 发表于 2020-2-28 11:48:36 | 只看该作者
    elusty 发表于 2020-2-28 10:34
    谢谢!下载了.exe后,怎么用?

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

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    6
     楼主| 发表于 2020-2-28 11:48:50 | 只看该作者
    neilzhu 发表于 2020-2-28 11:11
    这个程序挺实用的,可惜不会python。正在下载exe,不知道有没有比较好的说明书之类的,希望能会用 ...

    更新了一下帖子,增加了简单说明
  • TA的每日心情
    慵懒
    2022-1-17 18:55
  • 签到天数: 464 天

    [LV.9]以坛为家II

    31

    主题

    766

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17559
    7
    发表于 2020-2-28 11:49:46 | 只看该作者
    太棒了!支持楼主!
  • TA的每日心情
    慵懒
    2020-5-3 16:00
  • 签到天数: 207 天

    [LV.7]常住居民III

    28

    主题

    690

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    12838
    8
    发表于 2020-2-28 15:29:25 | 只看该作者
    热情很棒 不过出错就重新编辑的逻辑有点不好哦 建议加try...catch
  • TA的每日心情
    慵懒
    2020-5-3 16:00
  • 签到天数: 207 天

    [LV.7]常住居民III

    28

    主题

    690

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    12838
    10
    发表于 2020-2-29 05:33:01 | 只看该作者
    noword2k 发表于 2020-2-28 17:54
    可以判断返回的结果是不是为空,为空的话输出警告信息什么的。
    但是就怕用户不仔细看输出信息,从而漏了 ...

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

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    12
     楼主| 发表于 2020-2-29 08:45:05 | 只看该作者
    johannhuang 发表于 2020-2-29 05:33
    但你这样一没有就退出 我觉得改词表会改到怀疑人生何苦 不如用Python 讽刺 ...

    想了一下,还是从善如流,反正是举手之劳。
    新版的遇到没查到的单词,会显示警告信息,然后继续。
  • TA的每日心情
    奋斗
    昨天 17:01
  • 签到天数: 1405 天

    [LV.10]以坛为家III

    2

    主题

    2805

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    17306
    13
    发表于 2020-2-29 10:17:15 | 只看该作者
    已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单词。所以不知能否实现:把能找到的单词全输出来,找不到的单词列在输出文件的最前或最后。多谢!
  • TA的每日心情
    开心
    2020-2-29 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    21

    回帖

    875

    积分

    举人

    Rank: 4

    积分
    875
    14
     楼主| 发表于 2020-2-29 10:31:18 | 只看该作者
    neilzhu 发表于 2020-2-29 10:17
    已经试用了昨天的exe版,新版的正在下载。昨天的那个版本基本能用起来,但经常报错,可能是查不到所列的单 ...

    现在是找不到的单词,在html或pdf中显示 warning 信息。
    考虑统一放在最后,单独一组invalid words。
    等有空再搞。
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    15
    发表于 2020-2-29 11:53:31 | 只看该作者
    没有的单词跳过,另存一个文本格式单词表吧,谢谢不断更新,持续围观
  • TA的每日心情

    2021-10-23 19:58
  • 签到天数: 212 天

    [LV.7]常住居民III

    3

    主题

    461

    回帖

    1952

    积分

    解元

    Rank: 5Rank: 5

    积分
    1952
    16
    发表于 2020-3-3 01:11:57 | 只看该作者
    给力又热情,高风亮节啊,高兄
  • TA的每日心情
    慵懒
    昨天 08:00
  • 签到天数: 1343 天

    [LV.10]以坛为家III

    143

    主题

    2808

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    91000

    笑傲江湖章灌水大神章

    QQ
    18
    发表于 2020-3-9 03:20:40 | 只看该作者
           谢谢楼主的辛勤劳动与奉献分享,小工具挺实用。

    该用户从未签到

    4

    主题

    398

    回帖

    3360

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3360

    灌水大神章

    19
    发表于 2020-3-11 14:34:44 | 只看该作者
    太方便了,如果可以用exe有执行界面就好了。

    该用户从未签到

    0

    主题

    36

    回帖

    195

    积分

    童生

    Rank: 2

    积分
    195
    22
    发表于 2020-3-16 15:45:29 | 只看该作者
    Mac能用不,下载试试
  • TA的每日心情

    2022-12-20 09:47
  • 签到天数: 375 天

    [LV.9]以坛为家II

    0

    主题

    424

    回帖

    6333

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    6333
    23
    发表于 2020-3-17 16:26:43 | 只看该作者
    太棒了! 多谢!楼主!
  • TA的每日心情
    开心
    2022-10-16 15:50
  • 签到天数: 922 天

    [LV.10]以坛为家III

    0

    主题

    941

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10362
    25
    发表于 2020-3-22 16:34:57 | 只看该作者
    楼主太给力了 赞赞赞