电子书籍管理软件 – calibre

calibre是一个免费的跨平台电子书籍管理软件,可以完成对各种格式的电子书籍的管理和格式转换。尤其对于拥有手机/iPad等电子阅读器或E Ink设备的同学来说,这个软件尤其具有价值。如果把电子书想象成MP3音乐的话,calibre的功能可以类比于iTunes。它还可以把网络上的新闻或RSS下载转换成电子书格式,同步到相关的阅读设备中,这是一个非常实用的功能。

calibre可以从Google Books或Amazon等网站下载书籍的元数据,包括书籍的名称、作者、出版社、封面或者读者评价等信息。对中文图书而言,豆瓣上的数据应该是一个不错的书籍元数据来源,所以我就给它加上了这个功能。

今天发布的0.7.7版本中正式具有了从豆瓣下载书籍元数据的功能,可以从“首选项”->“插件”->“元数据下载插件”中启用它。由于考虑到这个功能只对中国用户比较有价值,所以这个插件默认是被禁用的。

本来还实现了从豆瓣下载书籍封面的功能,但calibre的作者不喜欢我的实现方法,所以还在进一步讨论合适的实现方法。需要尝鲜的朋友,可以参考我在Launchpad上的calibre-experimental代码树中的版本号为5550-5553的代码改动。

对这个插件有任何建议或功能改进需求,可以在此留言或去calibre的Trac上提交一个Ticket。

电子书籍管理软件 – calibre》上有 22 条评论

  1. @楼上
    最新版0.7.21版本的calibre已可以直接支持豆瓣的元数据和图书封面下载。
    这两个插件在非中文界面下默认禁用,可以手工启用。在中文界面下会自动启用。

  2. 我刚刚下载了0.7.23,在Windows 7 中文旗舰版 64位下使用。

    发现即使已经把“将所有非英文字符转换为英文对应字符”选项不打勾,中文文件名还是会变成拼音!反复试过都是一样。

    不晓得你是否也碰到这个问题?

  3. @flyisland
    我以前也发现过一样的问题,那时没有分析过原因,后来没有再在意这个问题。
    回头有空我来看看代码,看什么问题引起的。
    您也可以直接去calibre的网站提交Bug Ticket。

  4. @Fanxi, 已经在官网上提交ticket,但kovidgoyal说不是bug,因为“The filenames in the calibre library will always be ASCII. ”(http://bugs.calibre-ebook.com/ticket/7174)。

    真是无语,不晓得非英语国家有没有人用这个软件来管理电子书,实在不能接受用文件名“拼音”。

  5. 请问calibre的豆瓣插件具体应该怎么用?插件已经启用了,但是在元数据搜索时,怎么选择使用豆瓣的元数据?

  6. @flyisland
    我自己又试了一下,在书库下文件名永远是用拼音存的,但在用“保存到磁盘”功能时,会按你设定的模式来生成实际的文件名,这时如果选了“将所有非英文字符转换为英文对应字符”,就会用汉字来作为文件名,所以可以用“保存到磁盘”来导出你书库中的书,而不要直接从里面把文件挎贝出来。

    @Mingqing
    启用了以后在元数据搜索时就会包含豆瓣的上搜到的信息,它们会与其它元数据下载插件的搜索结果合并在一起一同显示,选择你觉得最合适的结果就可以了。从搜索结果中无法获知这个结果来自哪个元数据下载插件。
    如果你强调非豆瓣的数据不要,那就只能从选项中把别的元数据下载插件全部禁用掉,只留豆瓣的那个来使用。

  7. @fanxi,
    是的,我考虑过你说的方式,只不过我更想用”sending to device”功能。不过已经在论坛得到作者的答复,他没有打算让文件名支持non-ascii在这方面做什么更改。

  8. @flyisland
    从技术上来说,他的选择也没什么错。因为确实大部分设备是用FAT32文件系统的,这样的话,文件名存多国文字是不合理的。同时,由于大部分阅读器设备在显示书籍目录时,应该是使用书籍文件中的元信息,而不是文件名,所以文件名用英文字母并不会影响到使用体验。calibre从设计上来说,希望是做成一站式的管理工具,原则上用户不需要自己去动那些物理文件,也就不用关心文件名是什么。
    不知道你强烈要求文件名以原始中文保存的具体原因是什么?看看有没有什么合理的解决方法,比如写个插件之类的。不过如果没有强烈的理由,可以这样行为是没有机会进入官方的代码中的。

  9. @flyisland
    我刚才在hi pda上看到你们对这个问题的讨论,不过我的帐号还没有激活,不能回贴,所以在这里写下回复。
    calibre早期就是专门为SONY PSR-500设计的软件,后来才转变成一个通用的软件,所以很多设计都跟PSR-500有关,由于500不支持非ASCII的文件名,那作者就把它们转换一下,对于大部分电子书而言,文件名并不是一个重要的东东,所以这样的设计就一直沿用下来了。

  10. 我使用ebook管理软件calibre0.7.57版本,在编辑书籍信息时总是提示无法找到元信息(我只输入ISBN)。特向您请教。

  11. @fbwang
    我在0.7.59版本上没有重现你的问题。请你确认一下在选项中启用了哪几个元信息获取插件。
    同时可以提供我你无法获取的ISBN号以便我测试,谢谢。
    另外,不久后会发布的0.8.x系列的calibre中会对元信息获取插件做完全的重写,如果实在没办法解决问题,也可以期待一下新的版本。

  12. 刚刚更新了calibre0.8,但是无法从douban下载元信息了,有0.8可用的douban元信息获取插件吗?

  13. @Fly
    calibre 0.8.1中已经重新包含了重写以后的豆瓣元信息插件,请试用。如有问题欢迎反馈,谢谢!

  14. 不知道在这里说合不合适,launchpad的注册服务太难用,总注册不上,往见谅
    今天在用calibre0.8.1 for win的Download metadata 的时候总报错,不知道是什么问题,特此请教
    ****************************** Douban Books ******************************
    Request extra headers: [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1')]
    Found 0 results
    Downloading from Douban Books took 0.610000133514
    Failed to make identify query: u’http://api.douban.com/book/subjects?q=%E7%BE%8E%E4%B8%BD%E7%9A%84%E5%87%B6%E5%99%A8+%E4%B8%9C%E9%87%8E%E5%9C%AD%E5%90%BE?apikey=0bd1672394eb1ebf2374356abec15c3d
    Traceback (most recent call last):
    File “site-packagescalibreebooksmetadatasourcesdouban.py”, line 302, in identify
    File “site-packagesmechanize-0.2.4-py2.7.eggmechanize\_mechanize.py”, line 199, in open_novisit
    File “site-packagesmechanize-0.2.4-py2.7.eggmechanize\_mechanize.py”, line 255, in _mech_open
    httperror_seek_wrapper: HTTP Error 403: Forbidden
    在ie里面直接访问
    http://api.douban.com/book/subjects?q=%E7%BE%8E%E4%B8%BD%E7%9A%84%E5%87%B6%E5%99%A8+%E4%B8%9C%E9%87%8E%E5%9C%AD%E5%90%BE?apikey=0bd1672394eb1ebf2374356abec15c3d
    豆瓣会说
    You API access rate limit has been exceeded. Contact webmaster@douban.com if you want higher limit. Check http://www.douban.com/service/apikey/ for more detail.

  15. @benben_wab
    从出错提示看,是因为豆瓣API访问次数超限,豆瓣允许在1分钟内发起40次查询请求,如果限过这个限制就会出现你说的问题。
    从你提供的信息中,我发现是我程序有问题,没有正确传递API Key,导致允许的访问次数变成了1分钟10次,所以很容易就触发了限制条件。
    我已经把问题修复,预计会在0.8.3或0.8.4版本中包含这个问题的修复。
    感谢您的问题报告。

  16. 0.8.3中已经包含了一些修复,但我又发现有别的类似bug存在,所以仍然可能出现API访问次数超限的问题。我已经修复了,预计会包含在0.8.4中。

  17. 版主:一个问题困扰,中英文网站都没找到答案,不知你能否有办法?

    具体就是用txt转换成kindle字典。
    用calibre转成mobi成功,也能在kindle3打开阅读。
    然后设置成Primary Dictionary,但见不到这个文件名。

    其他字典看来都是mobi文件的,为什么呢?

  18. @楼上
    不知道。我没有Kindle,不知道它是怎么处理字典文件的,也许这是一种特殊的mobi文件吧。
    你可以试试去hi-pda论坛问问看有没有人知道。

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>