3 步批量下载已购 Kindle 电子书:Kindle_download_helper 工具实战
【免费下载链接】Kindle_download_helperDownload all your kindle books script.项目地址: https://gitcode.com/GitHub_Trending/ki/Kindle_download_helper
Kindle_download_helper 是一个面向 Kindle 电子书下载的开源脚本:把亚马逊 Kindle 商店里购买的全部电子书备份到本地,下载时还能直接去除 DRM。无需连接 Kindle 设备逐本传书,装好之后一条命令就能把整个书库收进自己的电脑。
核心能力速览 📚
- 批量下载:拉取账户下全部已购书籍,默认存到本地
DOWNLOADS文件夹。 - DRM 去除:加
--dedrm参数边下载边解密,处理结果输出到DEDRMS。 - 多站点支持:美、中、日、德、英站各对应一个站点参数,
--cn/--jp/--de/--uk,默认美站。 - 无设备替代:没有实体 Kindle 时,
no_kindle.py用邮箱密码登录直接导出 EPUB。 - 双界面:命令行与 PySide6 图形界面两种用法,按习惯选择。
从零到跑通:pip 安装与首次下载 🚀
命令行版一行装好:
pip3 install kindle_download想用最新源码就克隆仓库后执行pip3 install -r requirements.txt:
git clone https://gitcode.com/GitHub_Trending/ki/Kindle_download_helper图形界面版装好requirements_gui.txt里的依赖后运行:
python3 kindle_gui.py窗口里选站点、填 cookie、拉取书目,点按钮就能全量或勾选下载;也可以从项目 Release 页直接下载免安装的二进制包。
命令行首次使用,一条命令先跑通:
python3 kindle.py --cn --dedrm--cn声明你是亚马逊中国账户,美站省略该参数。本地运行时工具会自动从浏览器读取 cookie,不用手动复制。跑成功后,书籍会出现在当前目录的DOWNLOADS文件夹里。
核心工作流:拿到 Cookie 再发起全量下载
自动读取 cookie 偶尔会失效,手动获取更稳。整个过程分两步。
第一步:复制 Cookie 与 csrfToken
登录账户后打开"所有书籍"页面,按 F12 打开开发者工具,切到 Network 面板,任选一个ajax请求,从请求头里复制Cookie。再右键查看页面源代码,搜索csrfToken复制它的值。
拿到这两个认证信息后,就可以发起下载了。
第二步:发起下载并按站点传参
python3 kindle.py ${csrfToken} --cookie ${cookie} --dedrm --cn这个命令中位置参数传的是 csrfToken,--cookie传刚才复制的 cookie,--dedrm开启 DRM 去除。站点参数决定访问哪个商店:--cn中国、--jp日本、--de德国、--uk英国,不传就是美站。如果嫌 cookie 在命令行里转义麻烦,可以把它存成文本文件,用--cookie-file从文件读取。
进阶场景:选择性下载、断点续传与无设备方案 💡
如果你只想下其中几本,加上--mode sel进入选择模式:程序会列出全部书目,你输入7 10 20这样的序号或10:12这样的区间即可,输入l重新列表,输入q退出。
如果下载中途断网,重跑同一条命令并加上--resume-from 20,会从第 20 本接着下,不用从头再来。
遇到具体情况的处理:文件名过长报错用--cut-length 70截断;邮箱推送的文档加--pdoc单独下载;书名重名冲突用--resolve_duplicate_names;只想看清单不下载用--list;生成阅读统计表用--readme,输出my_kindle_stats.md。
如果你没有实体 Kindle 设备,走no_kindle.py这条替代路线:
python no_kindle.py -e ${email} -p ${password}下载到的 EPUB 会存进EPUB文件夹,--memory可以额外导出全部购买记录和笔记,--bookmark导出书签与划线数据,适合做读书数据分析。
项目内部结构
项目把下载主流程、DRM 解密与界面拆成独立模块,顶层kindle.py、no_kindle.py只是入口脚本:
- kindle_download_helper/kindle.py:核心下载与站点 API 逻辑
- kindle_download_helper/dedrm/:DRM 解密实现
- kindle_download_helper/no_kindle.py:无设备登录与 EPUB 导出
- gui/:PySide6 图形界面
排障与高频问题
提示 cookie 无效或下载失败。多半是 cookie 和 csrfToken 过期了。刷新亚马逊"所有书籍"页面,重新复制两个值再跑一遍即可。
下载中断,中途缺了几本。失败的书籍会记录在.error_books.log里。用--resume-from指定第一本失败书籍的序号重跑,即可断点续传。
no_kindle 报AttributeError: 'NoneType' object has no attribute 'url'。通常是登录流程没拿到有效会话或站点参数不匹配。确认站点参数与账户一致(默认中国站,美站用--com),然后重新运行。
下载的 mobi 文件仍带 DRM 保护。说明--dedrm没生效或该本书解密失败。可以用dedrm.py对已下载目录单独解密,并传入目标格式参数直接输出 epub。
这条从备份到去 DRM 的链路基本覆盖了你拥有电子书的所有环节。下一步挑一条与你账户站点匹配的命令跑起来,确认DOWNLOADS文件夹里出现第一批书,剩下的就是慢慢读完整个书库。
【免费下载链接】Kindle_download_helperDownload all your kindle books script.项目地址: https://gitcode.com/GitHub_Trending/ki/Kindle_download_helper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考