前几天亚马逊宣告 Kindle 中国电子书店运营进行调整,通知标题写得比较委婉,其实就是亚马逊电子书即将退出中国市场,到时候我们购买的国行版 Kindle 将不能购买新电子书,也不能下载已经购买的电子书了。

如果购买的电子书比较多,手动一本一本的去下载是挺费时间的,我来分享一下我是如何使用 Python 一键下载所有电子书的。

安装 Python

用 Chrome 浏览器打开 https://python.org,下载最新版本的 Python 3.10.4

下载好然后运行 python-3.10.4-amd64.exe, 选择第一个选项,一定要记得勾选添加到 PATH,否则在命令行中执行 python 时会报错。

准备 Python 一键下载脚本

用 Chrome 浏览器打开 https://github.com/yihong0618/Kindle_download_helper,下载 ZIP 包后并且解压:

使用 Python 一键下载脚本

进入解压后的目录,点击鼠标右键打开一个命令行窗口

打开的命令行窗口是这样的:

接下来准备 python 的虚拟环境,在命令行窗口输入:

python -m venv venv

创建好虚拟环境之后,再激活虚拟环境,在命令行窗口输入:

.\venv\Scripts\activate.bat

安装 Python 脚本的依赖库,在命令行窗口输入:

pip install -r requirements.txt

至此,一键下载脚本准备就绪,在命令行窗口输入:

python kindle.py

这样看到了脚本的帮助提示:

接下来我们准备脚本需要的 cookie 和 csrf_token, 这两个值都需要通过 Chrome 浏览器获取。

首先使用浏览器登录亚马逊账号,

点击鼠标右键打开审查元素,

在网络标签下,察看任意的链接,就可以找到 cookie:

在页面上点击右键查看页面源代码

按 Ctrl + F 搜索 csrf_token

cookie 和 csrf_token 找到之后,执行命令即可进行下载

python kindle.py <cookie> <csrf_token> --is-cn

这样就可以自动下载已经购买的电子书了。

cookie 和 csrf_token 如果过期了,重复上面的步骤获取即可。

如何阅读下载回来的电子书

  • 存到自己的 Kindle 中阅读
  • 使用自己的 Kindle 序列号清除 DRM 后使用 Calibre 阅读