MdxScraper(GUI升级版):提取字典内容为HTML、WEBP或PDF

演示

下载

特点

  1. 支持更多输入文件格式,包括 TXT/Markdown/JSON/Excel
  2. 支持更多输出文件格式,包括 HTML/JPG/PNG/WEBP/PDF
  3. 全面兼容常见 .mdx 词典:
    • 支持多 mdd 的词典(内置并升级 mdict-query)
    • 兼容有或无 CSS 文件的词典
    • 兼容内嵌的各种图片,支持多种图片格式、img 标签多种写法等
  4. 采用图形界面(PySide 6),提升智能化、增强人性化体验
    • 配置选项灵活丰富,包括 Basic、Image、CSS、PDF 等主要类别
    • 通过配置方案导入导出即可快速切换,轻松应对不同场景
    • 可选备份原始词汇,数据安全有保障
    • 可选增加时间戳到输出文件名,方便文件多版本管理
    • 可选输出“无效词汇”清单,通过它可轻松改用其他词典再次查询
  5. 跨平台,兼容 Windows/MacOS/Linux
16 个赞

多mdd的支持,其实是在mdict-query.py文件里,需要从头理清原作者的思路。建议还是直接合并mdd更方便。

1 个赞

Update:Release MdxScraper v1.1 · VimWei/MdxScraper · GitHub

  1. Enhancing Compatibility for Windows, Linux, and Mac.
  2. Implement ‘utf-8’ encoding for file handling to enhance compatibility.
4 个赞

正在学习 Python, 顺手把 mdict-query 改为支持多 mdd 查询了。
以下是测试代码:

def multi_mdd_test():
    mdx_name = '說文解字.mdx'
    mdx_name = Path(mdx_name)
    dictionary = mdict_query.IndexBuilder(mdx_name)
    css_key = dictionary.get_mdd_keys('\C0001*.png')[0]
    css = dictionary.mdd_lookup(css_key)[0]
    print(css_key)
    print(css)

改好的文件:
mdict_query.zip (3.5 KB)

3 个赞

感谢升级重大特性!我基于此发布了新版本 v2.0

1 个赞
  • 重构程序,全面提升体验,升级到 v3.4

    • 采用配置文件方式,而非命令行参数,配合conda可以一键输出,更便捷。
    • 丰富配置选项,包括输入输出文件、词典文件、PDF排版、CSS等,更强大。
    • 输出信息增加程序状态、查询统计、输出地址、耗时等信息,体验更友好。
    • 备份原始词汇,并与输出文件放在一起,方便归档调阅,数据安全有保障。
    • 增加时间戳到输出文件名,方便归档查阅所有输出文件,文件管理更方便。

5 个赞

关于小白门坎高了一些,windows系统,没有exe或msi等一键安装的文件提供吗?

请问运行了主程序出现以下报错怎么处理?谢谢!
Traceback (most recent call last):
File “Desktop/MdxScraper3.6/MdxScraper.py”, line 371, in
found, not_found = {
File “Desktop/MdxScraper3.6/MdxScraper.py”, line 209, in mdx2html
right_soup = BeautifulSoup(‘

’, ‘lxml’)
File “/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/init.py”, line 250, in init
raise FeatureNotFound(
bs4.FeatureNotFound: Couldn’t find a tree builder with the features you requested: lxml. Do you need to install a parser library?

找到问题了。原来是没有装lxml,装好了运行就OK了。谢谢!

谁能本站上传个最新版的zip包, github经常响应时间过长,无法完整加载,访问!!! 谢谢!!

Traceback (most recent call last):
File “C:\MdxScraper-3.6\MdxScraper.py”, line 371, in
found, not_found = {
~
…<2 lines>…
‘jpg’: mdx2jpg,
~~~~~~~~~~~~~~~
}[output_type](mdx_file, input_file, output_file, INVALID_ACTION)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\MdxScraper-3.6\MdxScraper.py”, line 206, in mdx2html
dictionary = mdict_query.IndexBuilder(mdx_file)
File “C:\MdxScraper-3.6\lib\mdict-query\mdict_query.py”, line 41, in init
assert(os.path.isfile(fname))
~~~~~~~~~~~~~~^^^^^^^
AssertionError

楼主和大神们,报错,怎么解决呀?
另外:这个没装上,pip install base64
安装了一个 pip install base
是不是它导致的?

base64不需要安装,是pythoh标准库自带的。

你的错误是,没有找到 mdx 词典,需要自己放入 mdict\

升级到 v3.9:

  1. 抛弃 conda,改用 uv 来管理 Python 虚拟环境,不仅确保环境一致,而且极大简化安装和使用。
  2. 重构了目录结构,将所有用户数据,包括 input, output 和 mdict, 都移入 ‘data/’ 目录。
  3. 内置了一个 案例词典,给首次使用的用户一个无须任何配置的友好体验,避免 #13 的困惑。

现在可以一键安装,双击运行了。

出现错误,请问Vim大神该如何解决哈。

按照 uv 官方的指引:

安装 uv

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

检查 uv 版本

uv --version

升级 uv

uv self update

谢谢V大,我摸索一下。

全面升级 GUI 版本

4 个赞

再次升级,让自定义样式变得更加方便、直接

screenshot

5 个赞

持续更新到 v5.0 了,主要是提升用户体验和程序质量。