KindleUnpack:拆解 Kindle 电子书文件的利器
在之前修复 Kindle 字典释义显示不完整的那篇文章里,曾提到 KindleUnpack 这款小软件,在文章中,主要是用它来“拆解” mobi 格式的字典文件,提取里面的相关源文件,以便进行分析、修改。最近 Kindle 伴侣 QQ 群中有小伙伴说网站还没有关于 KindleUnpack 的相关文章,所以书伴就专门撰写一篇文章来介绍一下,并同时将其放到“相关工具”中提供下载。
目录
一、什么是 KindleUnpack?有什么用?
二、KindleUnpack 软件或插件下载
三、KindleUnpack 插件版本的安装
方式 1:“从文件加载插件”安装
方式 2:“获取新的插件”安装
四、KindleUnpack 各版本的使用方法
1、Windows 界面版
2、macOS 界面版
3、Calibre 插件版
五、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
—————————-
[注1] KF8 是亚马逊官方制定的新电子书标准,能很好地支持 CSS3 的很多属性,以获得更好的排版样式。我们平常经常见到的 azw3 文件就是标准的 KF8 标准电子书。因为老的 Kindle 设备不支持新标准,所以亚马逊会将老式的 mobi 格式混合在 azw3 文件内,以便兼容老的 Kindle 设备。
[注2] 这里的 mobi 文件和 KF8 文件实际上说的是一个标准,实际上分离出来文件,mobi 对应的就是 mobi7,KF8 对应的就是 mobi8。
[注3] KindleUnpack 0.61 就是由 mobiunpack 0.32 变化而来的。
—————————-
参考资料:
- KindleUnpack (MobiUnpack): Extracts text, images and metadata from Kindle/Mobi files
- [GUI Plugin] KindleUnpack – The Plugin
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/187.html
延伸阅读
- 如何彻底解决 Kindle 电子书封面显示为“暂无图片”的问题
- 制作 Kindle 屏保图片三步走:打开、调整和保存
- [每周一书]《回归故里》关于原生阶层的自我解剖
- [每周一书]《非理性繁荣》什么是投机性泡沫?
- 当当炮轰亚马逊 Kindle 成电子阅读市场错误探索者
- [2023.06.27] Kindle 阅读器固件升级至 5.16.2.1
- 用 Kindle 原生系统浏览查看图片的两种方式
- [每周一书]《寻路中国》从乡村到工厂的自驾之旅
- [网友投稿] File Browser:便捷地管理 Kindle 中的文件
- 外出旅行时如何用安卓手机推送电子书到 Kindle
- [每周一书]《黑客与画家》改变世界的程序员
- 谷歌翻译退出中国后如何恢复 Chrome 翻译的正常使用
- [每周一书]《会计原来这么有趣》零基础从业篇
- Paperwhite 和 Voyage 有何不同,选哪个更好?
- [每周一书] 流行病的科普读物《病毒来袭》
请问战争长,Kindleunpack插件安装完后,在caliber软件操作界面区看不到黄色图标,怎么办呀
如果确认安装了,可能是界面上的图标没有显示全,可以点击主菜单栏最右侧的 >> 图标显示被隐藏的图标。
窗口最大化了,又重新安装了个旧版本的Calibre 3.48,还是不显示 KindleUnpack(黄色的三角按钮图标),是不这个插件让亚马逊官方屏蔽掉了
active python 2.7官方网站已经无法下载了
可以下载,只是需要先注册一个账户。
站长你有active python 2.7的压缩包吗,分享给大家,我安装的最新版本active python 3.9,总是解包失败
ActivePython 2.7 下载链接:百度网盘〈提取码 : 5e6h〉
下载完之后解压了那个压缩包,安装了msi那个文件,然后双击了KindleUnpack.pyw这个文件没反应,是还需要装什么么?
站长您好,有一点没有写清楚的。必须要安装active python 2.7版本才能够正常解包。安装其他版本会提示Error: Unpacking Failed
谢谢提醒,已经添加相关内容。
使用这个KindleUnpack-080软件,已安装了python,解包发生错误
Error: Unpacking Failed
“解包”是指用 KindleUnpack 拆解电子书的提示,还是解压 KindleUnpack 的提示?
和你的情况一样,拆解azw3文件时发生error
安装active python2.7版本的,其他的不行
我的电脑安装active python2.7版本以后, KindleUnpack 直接打不开了
你好。请问如何把已经做成的字典删去每个词条某区域无用的解释。
已经做成的字典无法直接进行编辑,你需要重新将其转换成源码,然后编辑修改字典的相关词条,最后再把源代码重新生成字典文件。关于字典源文件相关资料,可参考《自制 Kindle 字典简明教程(进阶篇)》这篇文章。
请教下站长,将azw3拖拽到app图标上,为何就闪动了下,什么文件都没生成呢?我在OS环境下。先行谢过!
AZW3 拖放到 APP 后会在 AZW3 所在目录生成源文件。有没有测试其它文件呢,都是这种情况吗?
是呢,试了好几个文档都是如此,也无错误信息框跳出
我也是同样的情况,图标只是闪了一点,点了「运行」,就没有任何后续了,也没有生成源文件
您好,我刚刚用kindle comic creator 做好一本50M大的mobi,在用“带界面的 pyw 格式 Python 脚本”解压时界面只是显示一行“Error: Unpacking Failed”,并无其他信息,请问怎么解决呢?
这个文件用 Kindle 能正常阅读吗?
我也遇到了这个问题,原azw3文件能够正常阅读,用KindleUnpack转化成 EPUB格式时显示“Error: Unpacking Failed”
AZW3 有 DRM 保护吗?
不知道如何看有没有保护,不过Calibre成功转换成了mobi格式
请问有dmr保护该如何转化?
有 DRM 保护的电子书无法转换格式。如果是你自己购买的电子书,需要用 DrDRM 去除保护,如果是从其他渠道获取的电子书,就无法使用了。
谢谢解答,确实没有序列码无法deDRM,听说epubee好像可行,回头再去研究一下
去请问站长,kindle电子书怎么去除DRM保护
推荐使用 DeDRM。
今天突然KindleUnpack插件从界面消失了,无论用文件安装,还是直接在Calibre下载,安装之后出现KindleUnpack插件三角黄色图标出现1秒钟之后一闪,就从主界面上就没了
我估计你是看不到回答了,不过困扰了我半天的问题我必须解答一下,那就是运行软件的时候要把kindle拔下来。。。。。。
你好,通过deDRM 将azw3破解之后得到的源文件通过kindleunpack,kindlegen转换为mobi之后书中的图片全部都显示不出来,请问这是什么原因导致的呢,如何解决。感谢您们的帮助。
AZW3 文件是直接从 Kindle 中拷贝出来的吗?如果是的话需要注意,Kindle 在把电子书从云端同步到设备中后,会把图片分离开,所以从 Kindle 拷贝出来的 AZW3 本身就不再含有图片。解决此问题的方式的方法是前往亚马逊账户的“我的内容和设备”下载完整的电子书文件。
请问用kindleunpack解压出来以后如何才能再打包回去哪?
可以使用亚马逊官方提供的命令行工具 KindleGen 重新把源文件转换成 MOBI 格式。
注意一下,Windows独立版的打开目录和输出目录(反正是涉及到目录的)都要英文,含有中文目录可能导致KindleUnpack.pyw打不开以及Output Failed
谢谢提醒,怪不得总是拆解失败。
站长你好,我想拆分我的mobi电子书,因为我的一本书实际上是由26本书合制在一起的,但是在读时就无法选取文字生成笔记了,我应该怎么弄?
站长,您好,
输入:[2_13]The Oxford Advanced Learners Dictionary 8th Ed
补充一下错误信息:
calibre, version 2.54.0
错误: KindleUnpack – The Plugin v0.81.2:
Traceback (most recent call last):
File “calibre_plugins.kindleunpack_plugin.action”, line 267, in unpack_ebook
File “calibre_plugins.kindleunpack_plugin.mobi_stuff”, line 123, in unpackMOBI
File “calibre_plugins.kindleunpack_plugin.kindleunpack.kindleunpack”, line 921, in unpackBook
File “calibre_plugins.kindleunpack_plugin.kindleunpack.kindleunpack”, line 842, in process_all_mobi_headers
File “calibre_plugins.kindleunpack_plugin.kindleunpack.kindleunpack”, line 605, in processMobi7
File “calibre_plugins.kindleunpack_plugin.kindleunpack.mobi_header”, line 794, in getRawML
MemoryError
谢谢!
站长 我安装了python 点击 KindleUnpack.pyw 但是没有出现工作界面,还有工作界面是什么样的 ,能发一个图片版的教程吗?
是不是打开方式不对?注意 pyw 的打开方式应该是 pythonw。如果关联的格式不对,可以使用邮件的“打开方式”重新选择。文内已补上软件界面截图。
站长您好,
我尝试使用KindleUnpack来解开以下文件:
[2_13]The Oxford Advanced Learners Dictionary 8th Ed.mobi
COBUILD Advanced Learner’s Dict – Collins Cobuild.mobi
calibre 插件和python GUI 程序都试过了,但是都失败了
请问有空的时候能测试看看么?
谢谢!
站长您好!在使用Oxford Advanced Learner’s Dictionary 7th – Fixed by kindlefere.com v1.0时,好像有些问题,具体如下:我在搜索neutral一词时,结果列表中有,但是点击没有反应,而且这一整面的词都没反应,翻到下一页再翻回来,这页就没了,退出后再打开就死机了。。。(只有上面时间的一栏,其余空白)
望解答。
Jimmy 您好。我是用 KPW2 用同一本字典查询这个词并未出现死机的问题。根据您的描述,推测可能并不是因为字典引起的。您可以尝试重启一下 Kindle 然后再查询 neutral 这个词,看是否还会死机,如果不会,这可能是 Kindle 因为某种原因死机导致的。
可以利用它对这本电子书进行超姐
站长,有错字
Ming. 您好。非常感谢您的细心指正,错字已更改。:)