最近收到一些插件反馈,对Calibre
桌面版豆瓣插件进行一些简单升级
以前安装文档:https://fugary.com/?p=264
Calibre
电子书管理软件:https://calibre-ebook.com/download
calibre-douban
是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
中安装为插件即可。
升级内容
删除了一些无用代码,另外增加功能:
- 增加
gzip
支持,有可能提升一点速度 - 增加随机毫秒延迟,减少被403的几率
- 增加
Cookie
输入框,可以填入浏览器登录后的Cookie
,减少403
配置随机延迟
默认已开启随机延迟,也就是在并发请求详情数据的时候随机sleep
一定的毫秒数,可以关闭:

参考代码
def random_sleep(self, log):
random_sec = random.random() / 10
log.info("Random sleep time {}s".format(random_sec))
time.sleep(random_sec)
Cookie配置
有时候可能我们的IP已经被拦了,这时可以自己登录豆瓣网站,然后把Cookie
复制出来填进插件配置中。
IP
被拦的错误如下:
有异常请求从你的 IP 发出,请 登录 使用豆瓣

用Chrome
或者Edge
浏览器打开https://www.douban.com,点击【登录】进入登录页面,登录成功之后,按F12
打开开发者工具:
从Network
,找到Doc
类型,随便点击一个豆瓣的网址,进入Headers
,找到Request Headers
里面的Cookie
字段,如图:

如果是中文版:
从网络
,找到文档
类型,随便点击一个豆瓣的网址,进入标头
,找到请求标头
里面的Cookie
字段,如图:

找到Cookie:
后面的部分,复制后面的内容,不包含Cookie:
。
到Calibre
插件配置页面填入Cookie
:

然后就可以用用户的身份查询,一般是可以解决403问题。
常见错误
如果又遇到查询失败,可能是这个错误
…你访问豆瓣的方式有点像机器人程序。为了保护用户的数据,请向我们证明你是人类:

因为使用了Cookie
,可以在浏览器中自己点击证明一下,再在calibre
中重新查询即可。
我本来是手动维护的,后来突然想到会不会有插件,一搜还真有,非常好用,感谢您
感谢感谢^^
大大,豆瓣源书籍信息可以找到并添加,但是到书封面那里无法加载,看了日志显示403
Downloading cover from: https://img1.doubanio.com/view/subject/l/public/s33596798.jpg
Failed to download cover from: https://img1.doubanio.com/view/subject/l/public/s33596798.jpg
Traceback (most recent call last):
File “calibre_plugins.dummy2.init“, line 295, in download_cover
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
最新版应该已经修复此问题
calibre升级到最新6.22,然后插件卸载重装可以了,感谢大佬
就是现在一定要配置自己豆瓣账号的cooki了,然后搜4-5本要去机器人验证下,哈哈
是指插件版本,下载一个最新版插件
安装插件出错怎么破?
calibre 3.48 portable,
上面URL下载的插件。
谢谢!
calibre 3.48 Portable embedded-python: True is64bit: False
Windows-7-6.1.7601-SP1 Windows (’32bit’, ‘WindowsPE’)
(‘Windows’, ‘7’, ‘6.1.7601’)
Python 2.7.15+
Windows: (‘7’, ‘6.1.7601’, ‘SP1′, u’Multiprocessor Free’)
Interface language: zh_CN
Traceback (most recent call last):
File “site-packagescalibregui2preferencesplugins.py”, line 319, in add_plugin
File “site-packagescalibrecustomizeui.py”, line 472, in add_plugin
File “site-packagescalibrecustomizeui.py”, line 61, in load_plugin
File “site-packagescalibrecustomizezipplugin.py”, line 201, in load
File “site-packagespolyglotbuiltins.py”, line 186, in reload
File “site-packagescalibrecustomizezipplugin.py”, line 185, in load_module
File “calibre_plugins.dummy1.init“, line 5, in
ImportError: No module named concurrent.futures
calibre5以下版本不支持,必须是5.x或更高版本,python3
清楚了,谢谢!
谢谢,可以工作了,是我弄错了。
感谢博主的制作与分享
很棒的插件,感谢!