2022-08-10
最新V0.6.19版本的calbire-web的豆瓣插件已经回来了,除了标签外,应该都有数据了,可以不用此插件了
2023-05-21
如果是johngong/calibre-web,插件目录要调整:
下载NewDouban.py放到本地地址/docker/johngong/metadata_provider,那就要映射到/usr/local/calibre-web/app/cps/metadata_provider
最新版calibre-web(0.6.14)
已经移除了豆瓣元数据接口,而且把元数据接口从javascript
文件移动到了服务器中,使用python
开发。
下载安装calibre-web
这里选择使用linuxserver/calibre-web
,以前使用的technosoft2000/calibre-web
已经不怎么更新:
IMPORTANT: Hello together, since I have almost no time to maintain this project anymore, I hereby discontinue it and recommend you to switch to the better maintained image of linuxserver/calibre-web. Btw. thank you to @OzzieIsaacs and his team that they still work on Calibre Web to make it better and still adding additional features over such a long time
群晖系统中,打开Docker
套件,在注册表中搜索calibre-web
,并选择对应的镜像下载:
下载后在映像中选择对应的容器,点启动就可以开始配置了
配置calibre-web
配置calibre-web
之前,建议先把豆瓣api provider
下载下来。
下载calibre-web豆瓣provider
豆瓣api很早以前就已经不开放给个人用户使用了,目前的豆瓣API provider
是自己开发的,使用python
从豆瓣网站上抓取网页并解析成对应格式数据的方式实现。
以前开发了一个Java
版本(https://github.com/fugary/simple-boot-douban-api)
豆瓣api镜像发布到Docker
仓库可以启动后供javascript
调用,但是新版calibre-web
不再使用javascript
调用外部服务的方式获取元数据,因此根据calibre-web
的metadata_provider
规范开发了python
版本并开源到Github
上:
Github地址:https://github.com/fugary/calibre-web-douban-api
使用方式是复制src/NewDouban.py
到calibre-web/cps/metadata_provider/
目录下,重启项目即可,不过在群晖Docker
环境下可以在下载后简单通过挂接的方式把文件直接挂接过去。
下载文件地址:https://github.com/fugary/calibre-web-douban-api/releases/latest/download/NewDouban.py
下载后存到自己的群晖中,我目前存储在/docker/calibre/NewDouban.py
配置calibre-web
在【映像】中选择对应的容器,点【启动】,然后【高级设置】:
一般都要勾选【启用自动重新启动】
配置存储空间,这块很重要
配置装载路径
本地路径 | 容器路径 | 说明 |
---|---|---|
docker/calibre/NewDouban.py | /app/calibre-web/cps/metadata_provider/NewDouban.py | 下载好的豆瓣provider |
本地书籍目录 | /books | 可能需要一个初始metadata.db文件,如果第一次使用可以从这下载一个空的:https://gitee.com/qs/calibre-web-douban-api/blob/main/tests/metadata.db |
本地配置目录 | /config | 配置目录 |
配置端口映射:
配置一些环境变量,语言可以不改,建议增加一个时区:TZ=Asia/Shanghai:
点击【应用】,下一步直到完成启动。
查询元数据
启动完成后可以访问:http://nas_ip:8083
可以登录,默认用户名密码:admin/admin123
新增书籍后可以查询元数据了:
目前的源是:New Douban Books。
常见问题
最近有不少网友说查询的时候卡死,其实是因为内置的google和scholar等其他元数据provider引起的。
要解决这个问题可以以下方案:
- 考虑配梯子等访问外网,并去掉google等元数据选项。
- 直接通过挂接覆盖原来的元数据文件夹,不过这样就只有豆瓣搜索了。
挂接元数据文件夹(NewDouban.py就在docker/calibre目录下):
本地路径 | 容器路径 | 说明 |
---|---|---|
docker/calibre | /app/calibre-web/cps/metadata_provider | 下载好的豆瓣provider所在目录 |
通过目录挂接之后就不用再挂接docker/calibre/NewDouban.py
文件了。
注意:最新0.6.17和0.6.16元数据API不兼容,请注意下载对应的版本
2023-06-06:部分用户编辑元数据表单缺少封面相关的文本框,也没有上传封面图片的功能,封面保存不了,可能是使用了非admin,然后权限配置有问题:
另外可以用桌面版Calibre管理图书更方便:https://fugary.com/?p=423
装的是linuxserver-calibre-web,试了半天,文件映射和文件夹映射这个NewDouBan.py不起作用,又进终端把google之类的元数据provider文件都删了,还是不行,最后来这里看了一下,可能是权限问题,之前都是Guest用户测的,登陆管理员用户后终于可以搜索了。
终于又能用了,感谢大佬提供的文件。
PS:大佬能把文章评论区按时间倒序排一下吗
我这里前几天都好好的,现在上传搜索元数据,豆瓣都没有封面图片,权限看了我是管理员啊,咋整?
前天开始就没有封面了不知道为什么
最新版应该修复了封面下载问题,可以下载试试看
可以再详细说下封面保存问题嘛,我还是没办法保存封面
我用的是0.6.20版本, NewDouban.py可以用,但是好像封面图片获取不了,其他信息都更新了,只有封面没有更新,是怎么回事呢?
我用的就是linuxserver/calibre-web, 0.6.20这个版本自带的douban.py也正常运作,但是也是不能上传封面图片。琢磨了半天没搞明白,所以来请教一下博主 :)
后面我又试了一下,可能你是用的是非admin用户,没有上传权限
解决大问题了,就是这个上传权限的问题。 谢谢博主 !!!
哪里看上传权限,我看了我的都有勾选啊
最近使用豆瓣插件总是提示“无搜索结果!请尝试另一个关键字。!”,以前可以搜到的元数据,现在也搜索不到了。(johngong/calibre-web,已更新到最新的NewDouban.py)
书籍转换格式失败是什么导致的呢?
今天重装了一下calibre-web的docker版(johngong/calibre-web),发现豆瓣插件无法用了(好久没用,不知道什么时候失效的,上次用是正常的),无论怎么搜,都是【无搜索结果!请尝试另一个关键字!】,请老大修复,多谢。
johngong要映射我这个插件的话,插件目录要调整:
下载NewDouban.py放到本地地址/docker/johngong/metadata_provider,那就要映射到/usr/local/calibre-web/app/cps/metadata_provider地址就可以
我这里按照博主大佬最后的方法,豆瓣插件倒是加载出来了,但是搜索出来的竟然全是google源的资料。。但是不加载豆瓣源,谷歌也搜不出来。。我用的johngong版本的镜像。。好奇怪呀
你好,这个博客主题好好看啊,请问你用的什么搭建的?主题又是什么呢?
页面底下就有,是个开源的主题:Theme Argon
johngong的怎么配置呢?一直弄不出来。谢谢。从0.6.16升级到了0.6.19,没发现自带douban。
最新V0.6.19版本的calbire-web的豆瓣插件已经回来了,除了标签外,应该都有数据了,可以不用此插件了
linuxserver/calibre-web镜像里默认的版本是v0.6.14,升级到0.6.19后,好像还是没看到豆瓣插件,是我的问题吗?
我用johngong的,升级上来,也没有douban的插件。
没有也可以自己安装这个豆瓣元数据provider,目前我用的是linuxserver版是有的
大佬,请问下为什么ISBN号好像没办法自动抓取么
ISBN号是可以抓取的,不过需要把ISBN手动填到搜索框,calibre-web只传了一个数据到后台
你好,我在下载元数据的时候文字的内容都正常,只是图片不能下载,好像是python的问题,报错:Python modul ‘advocate’ is not installed but is needed for cover downloads
通过这个解决了,给需要的朋友吧,谢谢。https://zhuanlan.zhihu.com/p/517229626
很强很好用 0.6.18 豆瓣有结果
大佬,请教一下,我用的是群晖上johngong的最新docker版本,calibre-web版本是0.6.18,然后在metadata_provider文件夹里把别的文件全部删除,只留了NewDouban.py一个文件,刮削的时候有NewDoubanBooks的选项,但是搜出来一直是空白页,请问有可能是哪里出了问题?
这样描述看不出来,需要有日志才好判断
我复制了后面的部分,麻烦大佬帮忙看看
[2022-06-16 10:07:58,844] ERROR {cps:1457} Exception on /metadata/search [POST]
Traceback (most recent call last):
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 2073, in wsgi_app
response = self.full_dispatch_request()
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 1518, in full_dispatch_request
rv = self.handle_user_exception(e)
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 1516, in full_dispatch_request
rv = self.dispatch_request()
File “/usr/lib/python3.9/site-packages/flask/app.py”, line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(*req.view_args)
File “/usr/lib/python3.9/site-packages/flask_login/utils.py”, line 272, in decorated_view
return func(args, **kwargs)
File “/usr/local/calibre-web/app/cps/search_metadata.py”, line 141, in metadata_search
data.extend([asdict(x) for x in future.result()])
TypeError: ‘NoneType’ object is not iterable
[2022-06-16 10:12:27,778] WARN {cps.metadata_provider.douban:86} 403 Client Error: Forbidden for url: https://sec.douban.com/b?r=https%3A%2F%2Fwww.douban.com%2Fj%2Fsearch%3Fcat%3D1001%26q%3D%25E4%25BB%25A5%25E5%2588%25A9%25E4%25B8%25BA%25E5%2588%25A9
[2022-06-16 10:12:27,778] ERROR {cps:1457} Exception on /metadata/provider/douban [POST]
这个是通过网页的形式获取数据的,你这个是豆瓣拦截了,可以考虑等一段时间或者重连下路由宽带换一个ip地址
好的,谢谢大佬!
另外在请教一个问题,我是把calibre_web部署在家里的nas上,在单位访问的网页版。这种情况下我被拦截的ip是我nas的ip还是我在单位的ip?
是nas的IP
感谢!
大佬,又出现新问题:[2022-06-16 15:16:36,750] INFO {flask_wtf.csrf:263} The CSRF token has expired.这个应该怎么处理?
这个应该不是插件问题了,是calibre-web的问题,可以尝试换个浏览器试试,不行的话重启下calibre-web容器试试看
大佬,抱歉,一直打扰。我换了个浏览器就可以搜索出内容了,但是封面都不显示,选择其中任何一个都没有元数据,见下图,能否再指教一下?log里没有新增的报错内容。
查看图片
这个是本地浏览器显示的,可以把地址复制出来访问下看看,也可以尝试下选一个保存看看是否保存进去了
我选任何一个都没有任何元数据增加进去,换了好几本书搜索结果都一样。你说的地址是什么地址?图片的地址是:http://我的域名/usr/local/calibre-web/app/cps/static/generic_cover.jpg,源的地址是:https://book.douban.com/
如果外网能访问,可以开个测试账号帮你看看,没有其他日志的话看不出什么问题
换了linuxserver/calibre-web就好了,谢谢大佬!
大佬还维护docker版的更新吗,docker停留在半年前了,别的版本不太会用。。。
calibre-web新版本不能用docker版了,升级calibre-web后只能用新的
老大这么一说我才发现我用的calibre确实不是最新版,那老版本可以用新插件吗,还是说必须老版本老插件、新版本新插件呢
老版本不能用新插件,新版本也用不了老的方式,不然没必要开发新的
谢谢大佬,帮我顺腾摸瓜解决了个迷茫的问题。。。我说我的calibre为什么不是最新版,检查了下docker的源发现网上说utsc的源有问题不建议用,我的源里utsc是第一个。。。换了就能更新到最新版了,我改用新版插件吧,顺便吐槽一下OMV小问题太多了,我有点受不了了
搞好了,不同的calibre版本metadata_provider路径可能不一样,我用版本是在/usr/local/calibre-web/app/cps/metadata_provider,一开始没发现,有点坑
求教,下载了最新版的NewDouban.py,是22.3.10更新的。
按照教程操作,出现了New Douban Books的选项。但不能搜刮,提示“搜索错误!!加载中…”。
页面没有卡死,用梯子Amazon和Google都可以正常查到。
我换了technosoft2000和linuxserver这2个最新版,都不行。也都是“搜索错误!!加载中…”。
电脑端桌面版的豆瓣插件,可以正常。
查了PY代码,直接浏览https://www.douban.com/j/search,会提示{“items”:[],”total”:0,”limit”:20,”more”:false}。
请问是怎么办?
你好,我想问一下为什么我在calibre-web获取的信息的description除了简介外还有其他乱七八糟的东西比如话题、书评什么的,但是我单独运行您的python文件,获取打印description就只用简介,就觉的很奇怪,能回复一下嘛,谢谢
我的运行环境是群晖DSM7.0,安装在docker下面。按照您的常见问题说明,试了挂接NewDouban.py文件或其所在目录,但启动容器后,均是无法打开页面,提示无法与服务器建立安全连接。发现容器的日志多了以下提示:
File “/app/calibre-web/cps.py”, line 40, in
from cps.search_metadata import meta
File “/app/calibre-web/cps/search_metadata.py”, line 48, in
importlib.import_module(“cps.metadata_provider.” + a)
File “/usr/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “/app/calibre-web/cps/metadata_provider/NewDouban.py”, line 7
<!DOCTYPE html>
^
SyntaxError: invalid syntax
SyntaxError: invalid syntax一般都是下载的文件格式不正确,需要下载原始文件,内容为python代码的文件,打开看到有html之类的就是不正确的
真是太感谢博主了,终于搞定了,原来一直使用链接另存的方式下载NewDouban.py文件,导致下载的文件不正确,挂接以后容器运行出错。重新正确下载NewDouban.py文件后,顺利搞定,再次感谢。
能说具体点吗?我是部署在群晖docker里面的,只要一挂载“NewDouban.py”,就无法打开网页了,谢谢
可以尝试按照(常见问题),挂接目录进去试试看
大家都在什么版本下可以用啊?之前可以用,但最近升级到0.6.16后就不能用了,在搜索界面没有new douban books的选项了,停止容器,将NewDouban.py文件拷贝到metadata_provider文件夹下,再启动容器,发现无法打开calibre web页面,而删除NewDouban.py后,则可以正常打开页面。请教大家有没遇到这个问题,要怎么解决办法啊?谢谢
也是6.16,最方便的解决办法,先用梯子查询一本书的信息,再把谷家的选择全部取消掉,后面就自动豆瓣了。
20220208测试,使用的是technosoft2000的calibre-web,完全按照教程添加相应文件,已经卡住了,只要打开获取元数据,必卡住不动,只能重启容器。求解决方案
挂个捞梯子就ok了,应该是访问不到就卡住了。
完全遵照教程,第一次fetch卡死,重启docker后正常获取douban,但是没有封面,如何操作?谢谢大神!!
我擦,,这个太牛逼了,这个东西是神器啊,好用好用 (๑•̀ㅁ•́ฅ) 非常感谢!
我也是群晖,用不了。。。挂进去网页打不开,显示被重置或很忙。。。日志里有syntax invalid之类的错误。
大佬,20220106测试无法安装
群晖docker很像无法正常通过挂载的方式把python文件挂进去,只要添加了那一条挂载信息calibre-web就无法正常使用(无法打开网页)
把文件复制进去也试过了,同样无法打开网页
解决了吗,我的也是这样。
遇到了相同的问题 倒是google的能搜 但是有些书搜不到
知道咋解决了 群晖的flies 整个目录 给owner权限
按教程安装后,只要点击获取元数据就卡住, 且无法获取到信息,然后整个软件都卡死了。然后就GG了,。 只能重启docker。 这是啥情况。太愁人了~~~
0.6.15 Beta版好像不行,直接卡死
按教程安装后,只要点击获取元数据就卡住, 且无法获取到信息,然后整个软件都卡死了。然后就GG了,。 只能重启docker。 这是啥情况。太愁人了~~~
安装最新版老提示数据库路径不对,大佬metadata.db下载失效了,能传个别的地址吗
已经补上了,其实使用桌面版calibre软件,然后新建一个书库,文件夹里面就有metadata.db,如果本地已经使用calibre桌面版管理书籍,书籍文件夹是可以和calibre-web共用。
试过了 卡的很严重,日志显示下载成功。不知道大佬能不能解决一下,哪怕慢一点,只要不卡。
确实能用,很好用。。。可是为什么“保存”后,书的封面不会改变呢?我用的是technosoft的最新版。。
奇怪,现在可以了
反复测试:0.6.14 机会出现卡死问题,重复登录也会卡死,建议大家先用稳定的版本。
退回0.6.13版本,就用不了这个py了,可惜。
如果是有时候下载失败,有时候成功,失败时浏览器开发者工具可以看到400错误,可能是目前calibre-web的0.6.14版的bug,退出重新登录又好了,似乎是新加的CSRFToken问题
又可以了
我是按照这个教程一步步做的,只是每次打开编辑源数据,都会遇到不能保存卡死的情况。博主帮忙看看,可能是遇到什么问题了?谢谢。
我也是,很烦。看log,“下载书籍成功xxxxx”但是界面没显示,只说错误。
我 0.6.14 也有一样的问题。telnet web 端口都不通,像是 web 服务挂了,只能重启容器。日志里倒是看到了报错
Exception WebDriverException while fetching page: (“‘geckodriver’ executable needs to be in PATH.”,)
解决办法:
看起来是不稳定或者组件没下载完整,隔了一天试了试douban信源又显示了。就是在保存的时候明显会卡顿一下
安装完成一切顺利,但是douban的插件不起作用。
一直显示:
加载中…
搜索错误!!
搜索错误!!
搜索错误!!
搜索错误!!
搜索错误!!
搜索错误!!
搜索错误!!
之前用technosoft2000版本的时候,起码其他元数据搜索是通的,现在看似几个信源都失效了
我的环境也是群辉Docker
我把
NewDouban.py
本地书籍目录
本地配置目录
都放在一个文件下了。
看log,有下载成功过,但是前台一直没显示过。
手工点赞