✨ 基于 NoneBot2 的 JM 漫画下载插件,支持下载漫画并转换为 PDF 格式。本项目使用 DeepSeek 辅助完成编写,代码可能需要进一步优化。
- ✅ 支持通过序号下载 JM 漫画
- ✅ 自动将下载的图片转换为 PDF 格式
- ✅ 支持QQ群文件直接上传
- ✅ 完善的错误提示系统
- ✅ 自动清理临时文件
- 已安装 NoneBot 2.0 框架
- Python 3.8+ 环境
- 安装必要依赖
pip install jmcomic -i https://pypi.org/project -U- 使用 pip 安装插件(推荐)
pip install nonebot-plugin-jmdownload- 手动安装(备选)
- 下载本插件代码
- 解压至
plugins目录 - 安装依赖
pip install -r requirements.txt
安装完成后,在 nonebot2 项目的 pyproject.toml 文件中添加插件名称:
plugins = ["nonebot_plugin_jmdownload"]- NoneBot2 项目的
.env文件中可用配置:
| 配置项 | 值 | 是否必须 |
|---|---|---|
| jm_config_path | "data/nonebot_plugin_jmdownload/config.yml" | 否 |
- 首次运行时会自动生成配置文件,包含以下内容:
# Github Actions 下载脚本配置
version: '1.0'
dir_rule:
base_dir: data/nonebot_plugin_jmdownload/downloads # 基础存储目录
rule: Bd_Atitle_Pindex # 目录命名规则
client:
domain:
- www.jmapiproxyxxx.vip
- www.18comic-mygo.vip
- 18comic-MHWs.CC
- 18comic.vip
- 18comic.org
download:
cache: true # 文件存在时跳过下载
image:
decode: true # 还原被混淆的图片
suffix: .jpg # 统一图片后缀格式
threading:
# 数值大,下得快,配置要求高,对禁漫压力大
# 数值小,下得慢,配置要求低,对禁漫压力小
# PS: 禁漫网页一般是一次请求50张图
batch_count: 45更多配置选项请参考 JMComic-Crawler-Python 项目文档。
| 一级指令 | 二级指令 | 参数 | 说明 |
|---|---|---|---|
/jm |
download |
<序号> |
下载指定序号的漫画 |
/jm |
下载 |
<序号> |
下载指定序号的漫画 |
- 请确保机器人具有足够的存储空间
- 下载完成后会自动清理临时文件
- PDF 文件生成后会自动发送给用户
Q: 下载失败怎么办? A: 请检查网络连接和配置文件中的域名是否可用。
Q: 为什么下载速度很慢? A: 目前需要获取所有图片后再进行转换,会造成阻塞并且导致下载速度较慢。
Q: 为什么转换 PDF 很慢? A: 转换速度取决于图片数量和大小,请耐心等待。
- 优化多线程PDF转换系统,根据系统负载动态调整线程数
- 增强图片损坏检测功能,支持多种检测方式
- 改进日志系统,提供更详细的性能统计和错误信息
- 优化内存管理,减少大型漫画处理时的内存占用
- 提升下载重试机制的稳定性
- 修复依赖问题
- 添加损坏图片探测
- 优化内存处理功能,防止大文件转换时内存溢出
- 优化单核处理性能,提升PDF转换效率
- 修复 PDF 转换问题
- 优化 PDF 转换速度
- 下载使用异步
- 优化阻塞问题
- 初始版本发布
- 支持基本的下载和 PDF 转换功能
- 添加自动清理功能
- 支持 QQ 群文件上传
- 优化 PDF 转换速度
- 优化下载速度及阻塞问题
- 体验必须优化!
- 添加下载进度显示
- 支持批量下载功能
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。
本项目采用 BSD 3-Clause License 开源许可证。
本项目仅供学习交流使用,请勿用于非法用途。使用本项目所造成的任何后果由使用者自行承担。