背景
最近在使用calibre-web管理电子书,不过很多时候还是需要用到Calibre桌面版软件,批量管理,编辑电子书等功能,因此需要使用calibre-douban元数据插件,不过现有的calibre-douban插件已经不能使用了,使用自己开发的插件。
最新升级2.0:Calibre桌面版豆瓣插件升级
下载地址
项目地址:https://github.com/fugary/calibre-douban
下载地址:https://github.com/fugary/calibre-douban/releases/latest/download/NewDouban.zip
代理下载:https://ghproxy.com/https://github.com/fugary/calibre-douban/releases/latest/download/NewDouban.zip
从release页面下载zip包,然后再calibre中安装为插件即可。
安装插件
在calibre软件中,选择【从文件中加载插件】:
选择对应的插件之后:
安装成功之后,就可以下载元数据了:
右键下载元数据
选择一本书,右键可以选择【编辑元数据】->【下载元数据和封面】
弹出的框中可以先配置下下载参数:
然后点击【下载元数据和封面】按钮测试:
元数据详情
可以保存相关元数据了。
编辑界面下载元数据
通常我们会在【逐个修改元数据】界面中使用元数据下载插件,这里可以列出来搜素的数据列表,然后手动选择合适的元数据:
可以配置插件参数,可以在多个结果中选择元数据信息
下载的封面:
保存相关数据。
最新升级2.0:Calibre桌面版豆瓣插件升级
更新了插件,calibre也升级到了最新版,还是不行。DOUBAN好像升级了,BING过去,不登录也不让访问了。
以前一直用的非常好,今天403了:( 这个是什么原因呢,谢谢。
Using plugins: Douban Books (3, 2, 0)
The log from individual plugins is below
** Douban Books (3, 2, 0) **
Found 0 results
Downloading from Douban Books took 0.265728235244751
Failed to make identify query: ‘https://api.douban.com/v2/book/search?count=10&q=%E6%88%98%E4%BA%89%E4%B8%8E%E5%92%8C%E5%B9%B3%28%E5%A5%97%E8%A3%85%E5%85%B12%E5%86%8C%29+%28%E7%BB%8F%E5%85%B8%E8%AF%91%E6%9E%97%29+%E5%88%97%E5%A4%AB%C2%B7%E6%89%98%E5%B0%94%E6%96%AF%E6%B3%B0&apikey=054022eaeae0b00e0fc068c0c0a2102a‘
Traceback (most recent call last):
File “calibre_plugins.dummy2.init“, line 334, in identify
File “mechanize_mechanize.py”, line 241, in open_novisit
File “mechanize_mechanize.py”, line 313, in _mech_open
mechanize._response.get_seek_wrapper_class..httperror_seek_wrapper: HTTP Error 403: Forbidden
The identify phase took 0.41 seconds
The longest time (0.265728) was taken by: Douban Books
Merging results from different sources
We have 0 merged results, merging took: 0.00 seconds
看起来不像我这个插件的信息,请下载最新版试试看
根据标题作者批量自动匹配元数据时,好像是根据搜索结果,选择第一条进行下载?
博主能否考虑下,自动匹配评论数最多的那条图书搜索结果呀?
默认是豆瓣页面搜索出来的顺序,豆瓣认为是最匹配的数据了,calibre自动选第一条,评论数和是否匹配不存在因果关系
请教下送进去的入参有哪些呢?是文件当前元数据里的title/author这些么?
希望可以爬取更多的字段,如“页数”、“字数”,用于填写在用户自定义的元数据字段中
好像calibre软件没看到哪可以自定义元数据
是否搜索元数据前sleep一段时间(睡眠时间取10s内随机数),用于规避豆瓣封ip
非常好用,感谢博主的贡献
9.29日,连续换了好几次IP,还查了联网IP地址的确变了,但是还是403……
同样情况+1,老哥解决了没
已修复这个问题,获取书籍列表的地址被屏蔽了,改成直接用网页获取列表
已修复这个问题,获取书籍列表的地址被屏蔽了,改成直接用网页获取列表
大佬,不知道是不是我个人的问题~~~
** New Douban Books (1, 0, 7) **
Found 0 results
Downloading from New Douban Books took 0.15946006774902344
Plugin New Douban Books failed
Traceback (most recent call last):
File “calibre/ebooks/metadata/sources/identify.py”, line 47, in run
File “calibre_plugins.dummy2.init“, line 293, in identify
books = self.book_searcher.search_books(isbn or title, log)
File “calibre_plugins.dummy2.init“, line 61, in search_books
book_urls = self.load_book_urls(query)
File “calibre_plugins.dummy2.init“, line 45, in load_book_urls
res = urlopen(Request(url, data, headers={‘user-agent’: random_user_agent()}))
File “urllib/request.py”, line 216, in urlopen
File “urllib/request.py”, line 525, in open
File “urllib/request.py”, line 634, in http_response
File “urllib/request.py”, line 563, in error
File “urllib/request.py”, line 496, in _call_chain
File “urllib/request.py”, line 643, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden
douban有改变规则,去下载最新版插件
没问题了!感谢大佬
请问博主我这是哪里错误啊,帮忙看看
calibre, version 5.40.0
错误: 未处理的异常: InvalidPlugin:The plugin in ‘G:\calibre-douban-1.0.7.zip’ is invalid. It does not contain a top-level init.py file
calibre 5.40 embedded-python: True is64bit: False
Windows-10-10.0.19041 Windows (’32bit’, ‘WindowsPE’)
32bit process running on 64bit windows
(‘Windows’, ’10’, ‘10.0.19041’)
Python 3.8.5
Windows: (’10’, ‘10.0.19041’, ”, ‘Multiprocessor Free’)
Interface language: zh_CN
Traceback (most recent call last):
File “calibregui2preferencesplugins.py”, line 326, in add_plugin
File “calibrecustomizeui.py”, line 476, in add_plugin
File “calibrecustomizeui.py”, line 64, in load_plugin
File “calibrecustomizezipplugin.py”, line 283, in load
File “calibrecustomizezipplugin.py”, line 378, in _locate_code
calibre.customize.InvalidPlugin: The plugin in ‘G:\calibre-douban-1.0.7.zip’ is invalid. It does not contain a top-level init.py file
确认下文件是否完整,解压看看里面是否有init.py文件
有init.py这个文件
看日志calibre版本比较老了,而且似乎是32位,可以下一个新版64位的calibre试试看
403一般是访问多了,豆瓣屏蔽IP了,可以考虑换个IP再试,比如重连下宽带
感谢博主制作的插件!真的对我管理书架有了很多帮助!
用的calibre 5.40版本,但是标签字段好像一直没有办法抓取。
豆瓣已经因为某些原因关闭了标签功能,有兴趣可以搜搜看原因
我的是桌面版 5.1,安装插件后,还是无法获得元数据
建议升级下版本吧
请问mac可以装吗,好像下载完文件后装不上😭
可以安装,我Mac和Windows都测试过,不过要注意Mac电脑下载后可能会自动解压了,解压后的文件是不能用的,可以到废纸篓把原始的zip文件找回来用。
豆瓣还有不少别的元数据种类,装帧、页数之类的,可以通过修改py文件代码,去爬取一些自定义的元数据代码吗?
calibre并不支持的字段应该是没法存储的
好像caliber内置amazon元数据搜索工具中,有通过谷歌/必应搜索引擎的缓存读取amazon元数据的选项,也可以这样来绕开对豆瓣数据服务器的访问么(☆ω☆)
请问怎么加长爬取间隔呢,因为几百本书更新元数据,IP很快就被豆瓣服务器拉黑了😂
这个没办法,豆瓣有自己的防爬策略,(ó﹏ò。),不建议太高频率获取数据,如果被拉黑只能自己换换IP,比如路由器断开重连,如果是手机分享网络可以切换飞行模式再切回来,当然还有些IP地址自动更换器等工具。
太好了,谢谢!