群晖NAS中calibre-web的豆瓣元数据获取

群晖NAS中calibre-web的豆瓣元数据获取

最近在NAS系统中使用Docker容器calibre-web搭建了自己的个人图书馆,在获取图书元数据的时候发现豆瓣源API已经失效了,网上提供的apikey都已经不能用了。豆瓣网页上基本也是防爬虫的,只有少部分网页没有做防爬处理,不过也是有访问频率限制的,当然对于个人用户也是够用了。

因此自己开发了一个简单的适合calibre-web的程序,发布到docker平台,对个人用户获取简单的书籍元数据也是够用了。

豆瓣API文档: http://www.doubanapi.com/book.html

发布地址

Github地址

基于SpringBoot+Jsoup开发,只有比较简单的几个类。

源码地址:https://github.com/fugary/simple-boot-douban-api

Docker地址

发布到Docker环境:https://registry.hub.docker.com/r/fugary/simple-boot-douban-api/

本地运行:

docker pull fugary/simple-boot-douban-api:latest
docker run -it -p 8085:8085 fugary/simple-boot-douban-api

通过IP地址访问:http://ip_address:8085/v2/book/search?q=深入理解计算机系统

访问速度不是很快,毕竟要访问列表页和详情页,默认是获取列表中的3本书籍,太多可能访问频率太高会被屏蔽。

群晖calibre-web配置

安装simple-boot-douban-api

首先需要在群晖系统的Docker套件中安装。

Docker套件的注册表中搜索simple-boot-douban-api,双击下载

1

下载容器:

配置自动启动:

配置端口,本地端口根据实际情况设置,如:8085

完成后启动

Calibre-web中配置

找到calibre-web容器(目前使用的是technosoft2000/calibre-web),查看详情:

image-20210819153158614

进入终端机:

image-20210819153608848

然后编辑文件使用vi命令。

vi /calibre-web/app/cps/static/js/get_meta.js
# 找到 var douban = "https://api.douban.com"; 替换成自己的NAS_IP地址
var douban = "http://NAS_IP:8085";
# 如果不熟悉vi命令,这里提供一种更快的替换的方式,使用sed命令:
sed -i 's#https://api.douban.com#http://NAS_IP:8085#g' /calibre-web/app/cps/static/js/get_meta.js
# 注意上面的文件路径是technosoft2000/calibre-web镜像的路径,如果使用的是linuxserver/calibre-web,路径是
# /app/calibre-web/cps/static/js/get_meta.js

image-20210819153736233

然后刷新页面,再次通过页面访问【获取元数据】

image-20210819153848204

可以看到源是Douban Books,获取成功了。

上一篇
下一篇