KindleUnpack:拆解 Kindle 电子书文件的利器 – 书伴

您所在的位置:网站首页 kindle是啥格式 KindleUnpack:拆解 Kindle 电子书文件的利器 – 书伴

KindleUnpack:拆解 Kindle 电子书文件的利器 – 书伴

2024-07-15 16:50| 来源: 网络整理| 查看: 265

在之前修复 Kindle 字典释义显示不完整的那篇文章里,曾提到 KindleUnpack 这款小软件,在文章中,主要是用它来“拆解” mobi 格式的字典文件,提取里面的相关源文件,以便进行分析、修改。最近 Kindle 伴侣 QQ 群中有小伙伴说网站还没有关于 KindleUnpack 的相关文章,所以书伴就专门撰写一篇文章来介绍一下,并同时将其放到“相关工具”中提供下载。

kindleunpack

目录

一、什么是 KindleUnpack?有什么用? 二、KindleUnpack 软件或插件下载 三、KindleUnpack 插件版本的安装 方式 1:“从文件加载插件”安装 方式 2:“获取新的插件”安装 四、KindleUnpack 各版本的使用方法 1、Windows 界面版 2、macOS 界面版 3、Calibre 插件版 五、KindleUnpack 提取出的文件结构 六、KindleUnpack 批量处理命令

一、什么是 KindleUnpack?有什么用?

KindleUnpack (原 mobiunpack)是一款用 Python 写成的小程序,始发于电子书专业论坛 mobileread。它可以用来提取 Kindle 电子书如 mobi、azw3 等格式文件中的 HTML 内容、图像以及元数据文件,并能把这些文件按照 KindleGen 生成电子书的标准和形式放置。

对于 KF8 文件以及 Mobi 和 KF8 的混合文件[注1],它可以产生分离的 Mobi 和 KF8 文件[注2],以及包含在电子书中的原始源文件。此外,对于 KF8 文件,它还会生成一份 ePub 文件,不过,如果生成的 HTML 文件不符合 EPUB 标准,那生成的这个 ePub 文件也不会符合 EPUB 标准。对于亚马逊 .azw4 格式电子书,它可以提取出包含在该格式文件中的 PDF 文档。

KindleUnpack 对于一般人来说没有什么用途,但是对于喜欢自制电子书的小伙伴用途可就大了。比如看到一本电子书的版式或样式很漂亮,可以利用它对这本电子书进行拆解,然后分析其源文件,然后把自己喜欢的特性移植到自己的电子书项目中。是一个相当实用学习工具。

二、KindleUnpack 软件或插件下载

KindleUnpack 有两个版本,一种带界面的,另一种依附于 Calibre 插件运行的。界面版分为两种,带界面的 pyw 格式 Python 脚本和在 macOS 系统中支持拖放操作的 AppleScript 版本。

另外,作者还提供了一个可在命令行中使用的的单文件脚本[注3] mobiunpack,该脚本仅支持提取 Kindle 早期的 MOBI7 格式或更低版本的电子书源文件,无法用于 KF8 标准的电子书。

下面是 KindleUnpack 项目及其 Calibre 插件发布地址,可以在这里获取最新版本:

KindleUnpack 项目发布地址:Github 发布页面 Calibre 插件发布地址:Github 发布页面

下面是 KindleUnpack 各个版本的下载链接,请根据自己所使用的系统选择下载:

带界面的 pyw 格式 Python 脚本: KindleUnpack-081.zip | 百度网盘〈提取码:qb7i〉 支持拖放操作的 Mac 版本(64 位):KindleUnpack 64 v0.81.app.zip | 百度网盘〈提取码:b35g〉 支持拖放操作的 Mac 版本:KindleUnpack v0.81.app.zip | 百度网盘〈提取码:qpza〉 仅支持 mobi 文件的单文件脚本:mobiunpack 32.py.zip | 百度网盘〈提取码:rhbz〉 依附于 Calibre 运行的插件版本:kindle_unpack_v0831_plugin.zip | 百度网盘〈提取码:1nxt〉

需要注意,界面版 KindleUnpack 需要你的系统预先安装 Python。一般情况下 Mac 或 Linux 系统已经集成了所需要的 Python 环境,不需要额外进行安装。但是 Windows 则需要额外安装 Python 环境,作者强烈建议 Windows 用户安装 ActiveState 的 Active Python 2.7.x 版本,它可以正确安装和配置必要的部件,而 Python 官方版本可能不能在 Windows 系统中正确的处理这些事情。

三、KindleUnpack 插件版本的安装

如果你习惯喜用 Calibre 管理电子书,可以直接把 KindleUnpack 集成到 Calibre 中,这样就不需要每次都运行起带界面的程序了。在 Calibre 中安装 KindleUnpack 插件有两种方式:一种是直接加载下载到的插件文件,另一种就是直接在插件设置中获取该插件直接安装。下面分别作说明:

方式 1:“从文件加载插件”安装

打开 Calibre,点击“首选项”的“高级选项”下的【插件】,然后点击【从文件加载插件】按钮,在弹出的窗口中选择下载到的压缩包,点击【是】、【确定】,重启 Calibre 完成安装。

方式 2:“获取新的插件”安装

打开 Calibre,点击“首选项”的“高级选项”下的【插件】,然后点击【获取新的插件】,在弹出的窗口中的“Filter by name(按名称过滤)”一栏输入“KindleUnpack”,选中它,点击右下角的【安装】按钮安装。安装完毕后点击【现在重启 Calibre】按钮,重启后即可成功安装。

四、KindleUnpack 各版本的使用方法

KindleUnpack 的使用方法十分简单,下面对界面版和插件版分别简要说明一下步骤,以供参考。

1、Windows 界面版

运行文件名为 KindleUnpack.pyw 的 Python 脚本,打开工作界面; 点击“Unencrypted Kindle eBook input file”后的【browse…】按钮选择一本电子书; 点击“Output Directory”后的【browse…】按钮选择生成文件的输出目录; 其他选项一般可保持默认,点击【start】按钮,稍等片刻即可完成拆解。 2、macOS 界面版

解压缩下载到的 zip 压缩包,可以看到一个 APP 文件,直接把电子书拖放到此 APP 图标上即可。

3、Calibre 插件版 把电子书文件拖放到 Calibre 中; 选中电子书,点击软件右上方操控区域的那个 KindleUnpack(黄色的三角按钮图标),在弹出的菜单中将鼠标悬浮到带有绿色小锁的菜单,然后点击弹出的菜单“Unpack MOBI”(如果是 AZW3 文件会显示“Unpack AZW3”); 在弹出的窗口中选择指定输出的文件夹,点击【Open】按钮,稍等片刻即可完成拆解。

注意,KindleUnpack 只能用于无 DRM 保护的 Kindle 电子书。生成的时间根据电子书文件大小不同,处理时间长短也不同。

五、KindleUnpack 提取出的文件结构

对于 KF8 标准的如 azw3 格式的电子书,提取出来的原始文件结构一般如下所示:

├──── HDImages     ├──── 高清图片文件(如果有的话) ├──── mobi7     ├──── 所有图片(包括封面) ├──── mobi8     ├──── META-INF         ├──── container.xml     ├──── OEBPS         ├──── Fonts             ├──── 字体文件(如果有的话)         ├──── Images             ├──── 所有图片(包括封面)         ├──── Styles             ├──── 所有 CSS 样式表文件         ├──── Text             ├──── 所有 HTML 格式的电子书内容         ├──── content.opf         ├──── toc.ncx     ├──── XXXXXX.epub     ├──── mimetype

对于 mobi 格式的电子书,提取出来的原始文件结构如下所示:

├──── HDImages     ├──── High definition images if exist ... ├──── mobi7     ├──── Images         ├──── 所有图片(包括封面)     ├──── book.html     ├──── content.opf     ├──── toc.ncx 六、KindleUnpack 批量处理命令

首先确保你的操作系统安装了 Python,并且已经下载好了 KindleUnpack 压缩包。

这里假设 KindleUnpack 文件夹(比如这里解压后得到的是 KindleUnpack-083)和存放电子书的名为 ebooks 的文件夹都存放在桌面上,比如 C:\Users\YOURNAME\Desktop(注意要将 YOURNANE 更改成你实际的系统用户名)。

如果你用的是 Windows 系统,打开 PowerShell,运行以下命令:

Set-Location C:\Users\YOURNAME\Desktop; Get-ChildItem ebooks | % { python3 KindleUnpack-083\lib\kindleunpack.py $_.FullName }

如果你用的是 macOS 系统,打开终端,运行以下命令:

cd /Users/YOURNAME/Desktop; for file in ebooks/*; do python3 KindleUnpack-083\lib\kindleunpack.py "$file"; done

参考资料:

KindleUnpack (MobiUnpack): Extracts text, images and metadata from Kindle/Mobi files [GUI Plugin] KindleUnpack – The Plugin [注1] KF8 是亚马逊官方制定的新电子书标准,能很好地支持 CSS3 的很多属性,以获得更好的排版样式。我们平常经常见到的 azw3 文件就是标准的 KF8 标准电子书。因为老的 Kindle 设备不支持新标准,所以亚马逊会将老式的 mobi 格式混合在 azw3 文件内,以便兼容老的 Kindle 设备。 [注2] 这里的 mobi 文件和 KF8 文件实际上说的是一个标准,实际上分离出来文件,mobi 对应的就是 mobi7,KF8 对应的就是 mobi8。 [注3] KindleUnpack 0.61 就是由 mobiunpack 0.32 变化而来的。

© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/187.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3