项目简介
Calibre-Web 豆瓣API插件是一个专门为新版Calibre-Web设计的开源扩展,用于恢复通过豆瓣API获取书籍元数据的功能。由于Calibre-Web的官方更新移除了对豆瓣API的直接支持,此插件应运而生,通过Python获取网页信息的形式获取书籍详情。
核心特性
- 自动封面处理: 最新版本自动实现使用本地处理封面图片,解决豆瓣图片访问限制的问题
- 并发查询: 支持多线程并发查询,提高搜索效率
- 智能缓存: 内置LRU缓存机制,减少重复请求
- 完整元数据: 支持获取书名、作者、出版社、出版日期、ISBN、评分、标签等完整信息
安装步骤
1. 下载插件文件
首先需要获取插件文件,可以从项目仓库下载最新的NewDouban.py文件:
git clone https://gitcode.com/gh_mirrors/ca/calibre-web-douban-api.git
2. 放置插件文件
将下载的src/NewDouban.py文件复制到您的Calibre-Web安装目录下的cps/metadata_provider目录中:
cp src/NewDouban.py /path/to/your/calibre-web/cps/metadata_provider/
3. 重启服务
保存更改后,重启您的Calibre-Web服务以加载新的插件:
# 根据您的启动方式重启服务
systemctl restart calibre-web
# 或者
docker-compose restart
配置说明
插件提供以下配置选项,可以在NewDouban.py文件中进行调整:
# 是否自动处理封面地址
DOUBAN_PROXY_COVER = True
# 如果自动计算的服务器地址不正确,可以填写自己的calibre-web地址
DOUBAN_PROXY_COVER_HOST_URL = ''
# 并发查询数量
DOUBAN_CONCURRENCY_SIZE = 5
# 最大缓存数量
DOUBAN_BOOK_CACHE_SIZE = 500
使用注意事项
访问频率控制
由于此插件基于网页获取技术,过度请求可能导致豆瓣网站对IP地址的访问限制。建议:
- 合理安排请求时间,避免短时间内大量查询
- 可以考虑设置定时任务分散查询时间
- 如需大量查询,建议配置中转服务
版本兼容性
- Calibre-Web 0.6.17及以上版本: 使用最新版本的插件
- Calibre-Web 0.6.16及以下版本: 需要使用特定版本的插件包
常见问题解决
封面无法显示: 检查DOUBAN_PROXY_COVER设置是否正确,以及服务器地址配置是否准确。
搜索无结果: 可能是豆瓣限制了访问,可以尝试更换IP或使用其他方式。
数据不完整: 确保网络连接正常,豆瓣网站可正常访问。
技术实现原理
该插件通过以下方式工作:
- 搜索阶段: 向豆瓣搜索接口发送查询请求,获取相关书籍的URL列表
- 详情获取: 并发访问各书籍详情页面,解析HTML内容提取元数据
- 封面处理: 自动处理豆瓣封面图片,避免直接访问被限制
- 数据缓存: 使用LRU缓存减少重复请求,提高效率
维护与支持
如果在使用过程中遇到问题,可以:
- 检查Calibre-Web和插件的版本兼容性
- 查看项目文档中的常见问题解答
- 确保网络连接和设置正确
该插件持续维护更新,建议定期检查新版本以获取更好的兼容性和功能改进。使用时请遵守相关网站的使用条款,合理控制访问频率。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



