BookFinder 是一个强大的多源中文图书搜索工具,支持从多个在线书店和图书数据库搜索图书信息。它能够帮助您快速获取全面的图书信息,提高图书检索效率。
-
多源搜索:支持从多个来源搜索图书信息
- 豆瓣图书
- 香港美国书店
- 台湾美国书店
- 亚马逊图书
- Google Books
-
丰富的图书信息
- 基本信息:书名、作者、出版社、出版年份、ISBN等
- 详细介绍:内容简介、作者简介
- 图片资源:图书封面(自动上传至图床)
- 图书链接生成
-
自适应信息提取
- 自动清理和格式化文本
- 自适应识别和提取关键信息
- 处理多种数据格式和编码
-
错误处理
- 异常处理机制
- 自动重试机制
- 详细的错误日志
- Python 3.8+
- Windows操作系统
- 科学上网环境(部分图书数据源需要)
-
安装依赖
pip install -r requirements.txt
-
配置环境变量
# Windows copy .env.template .env # 或在Linux/macOS下 cp .env.template .env
-
修改配置 根据需要修改
.env
文件中的配置项
-
配置环境变量:
复制
.env.template
文件并重命名为.env
,然后根据需要修改配置:# Windows copy .env.template .env # 或在Linux/macOS下 cp .env.template .env
在
.env
文件中配置以下环境变量:# 图床功能开关(true/false) IMGHOST_ENABLED=false # 如果启用图床功能(IMGHOST_ENABLED=true),需要配置以下变量: IMGHOST_BASE_URL=your_imghost_url # 图床服务器基础URL IMGHOST_EMAIL=your_email # 图床账号邮箱 IMGHOST_PASSWORD=your_password # 图床账号密码
如果不启用图床功能(IMGHOST_ENABLED=false),程序将只显示图片的本地路径。
-
运行主程序:
python main.py
-
选择搜索源:
- 1: 豆瓣图书
- 2: 香港美国书店
- 3: 台湾美国书店
- 4: 亚马逊图书
- 5: Google Books
- 0: 返回
-
输入搜索关键词:
- 支持书名、作者、ISBN等关键词
- 建议使用准确的书名或ISBN进行搜索
- 空输入将返回搜索源选择
-
查看搜索结果:
- 显示匹配图书的基本信息列表
- 输入序号查看详细信息
- 输入 'b' 返回搜索
- 无效输入会提示重新选择
-
图书详情展示:
- 基本信息:书名、作者、出版社等
- 内容简介和作者简介
- 封面图片(支持自动上传到图床)
- 图书链接
本项目支持使用 Lsky Pro 图床服务来存储图书封面。如果你想使用此功能:
-
确保你有可用的 Lsky Pro 图床服务
-
在环境变量中设置:
IMGHOST_ENABLED=true
启用图床功能IMGHOST_BASE_URL
设置为你的图床地址(例如:https://img.example.com)IMGHOST_EMAIL
设置为你的登录邮箱IMGHOST_PASSWORD
设置为你的登录密码
-
图床功能测试:
python get_token.py
如果配置正确,将显示"登录成功"。
db_book_search/
├── main.py # 主程序入口
├── config.py # 主配置文件
├── get_token.py # 图床token获取工具
├── requirements.txt # 依赖清单
├── token.json # 图床token配置(可选)
└── sources/ # 数据源模块
├── utils.py # 通用工具函数
├── image.py # 图片处理模块
├── output.py # 输出格式化模块
├── config.py # 数据源配置文件
├── douban/ # 豆瓣图书模块
├── megbookhk/ # 香港美国书店模块
├── megbooktw/ # 台湾美国书店模块
├── amazon/ # 亚马逊图书模块
└── google/ # Google Books模块
- 豆瓣图书搜索
- 香港美国书店搜索
- 台湾美国书店搜索
- 亚马逊图书搜索
- Google Books搜索
-
图床功能为可选功能:
- 如果不配置token.json,程序仍然可以正常运行
- 未配置图床时,图书封面将只显示原始URL
- 配置图床可以实现封面的永久保存和快速访问
-
网络访问说明:
- 部分搜索源可能需要使用上科学网才能访问
- 请确保您的网络环境正常
- 程序包含自动重试机制,但仍可能受网络状况影响
-
搜索结果说明:
- 搜索结果的准确性和完整性取决于各数据源的实时状态
- 不同数据源的信息可能存在差异
- 建议交叉对比多个数据源的信息
-
性能优化:
- 程序包含缓存机制,可减少重复请求
- 支持异步处理和并发搜索
- 自动清理临时文件和缓存
本项目仅供学习和研究使用,禁止用于商业用途。在使用本项目时,请遵守相关网站的使用条款和规定。
本项目采用 MIT 许可证。详见 MIT License。
-
搜索无结果:
- 检查关键词是否准确
- 尝试使用不同的搜索源
- 确认网络连接正常
-
图片上传失败:
- 验证token.json配置是否正确
- 检查网络连接状态
- 查看错误日志获取详细信息
-
程序运行错误:
- 确保已安装所有依赖
- 检查Python版本是否满足要求
- 查看错误日志进行排查