但是,如果你尝试从最新版本的 Kindle App 下载电子书,可以看到本地储存的文件格式为 KCR,而 Calibre 是无法识别这种格式的;如果你直接将 Kindle 阅读器连接到电脑,你会发现其中的电子书使用的是 KFX 格式,如果将它们导入到 Calibre,那么只能显示书名,而无法加载出其它信息。
▍解决问题
为了让 Calibre 可以正常地识别出 Kindle 电子书,我们的解决思路是找到已购买电子书的 AZW3 格式文件。
最简单的办法还是通过亚马逊官网直接下载 Kindle 电子书文件,从这里下载到文件格式默认是 AZW3,也就可以直接被 Calibre 上识别。
打开亚马逊官网并登录后,你可以在「我的账户」-「管理我的内容和设备」-「我的内容」中找到你所有已经购买的电子书。点击你想下载的电子书对应操作栏的「…」按钮,选择「通过电脑下载USB传输」,在下拉列表中随意选择一台支持的设备,最后点击下载按钮即可。这个方法最简单,不受系统和平台影响,随开随用。
不过如果你是 Kindle 深度用户,或是曾在亚马逊中国的 Kindle 商城中购买了大量的电子书,那么由 yushiro开发的 kindleDown.js脚本可以帮助你批量下载图书:
varcurIndex = - 1;
functioncallbackDown( ) {
if(curIndex >= 0) $( 'input.hideItem_myx')[curIndex].click;
curIndex++;
$( 'input.hideItem_myx')[curIndex].click;
$( 'ul button.myx-button-text')[curIndex].click;
//触发下载popup
setTimeout( function( ) {$( '.myx-popover-inner .transcludedContent_myx .contentDetails_myx #contentAction_download_myx').trigger( 'click');}, 1000);
setTimeout( function( ) {$( '.dialog_myx .myx-button-primary').trigger( 'click');}, 2000);
if(curIndex < $( 'input.hideItem_myx').length) setTimeout(callbackDown, 3000);
}
callbackDown;
打开「我的内容」这个网页,首先需要移除所有书籍的样章,或者按下 F12 或者在网页上右键选择「审查元素」,再切换到「控制台(Console)」,把上面这串 js 脚本粘贴到输入框里,之前你购买的 Kindle 电子书就会一本一本下载到电脑上了。
如果下载时控制台出现红色报错,可以试着把脚本中 1000、2000 和 3000 这三个数字都改长一些,这 3 个数字影响的是网络请求的超时时间,单位为 ms。
▍尾巴
在通过以上任意方法获得 AZW3 格式的电子书后,你只需将它们拖动到 Calibre 中即可被自动识别,Calibre 会按照作者、语言、系列、出版社、识别码等元素将导入的电子书自动分类。除此之外,你还可以通过评分、标签、筛选、书单等功能对电子书做进一步的管理。Calibre 的资料库可以在本地直接被访问,所以你也可以通过外接硬盘或者云盘对 Kindle 电子书做一个备份,以确保自己可以在亚马逊下架或者调整电子书内容后依旧可以阅读到完整版本的电子书。
祝大家阅读愉快。🎉
原文链接:
https://sspai.com/post/56997?utm_source=wechat&utm_medium=social
作者:Vanilla
/ 更多热门文章 /返回搜狐,查看更多