
本项目封装了一套可用于爬取JM的Python API.
你可以通过简单的几行Python代码,实现下载JM上的本子到本地,并且是处理好的图片。
🧭 快速指路
友情提示:珍爱JM,为了减轻JM的服务器压力,请不要一次性爬取太多本子,西门🙏🙏🙏.
https://github.com/user-attachments/assets/63ba2016-ee93-4133-a3e1-31ea6783c400

项目介绍
本项目的核心功能是下载本子。
基于此,设计了一套方便使用、便于扩展,能满足一些特殊下载需求的框架。
目前核心功能实现较为稳定,项目也处于维护阶段。
除了下载功能以外,也实现了其他的一些禁漫接口,按需实现。目前已有功能:
- 登录
- 搜索本子(支持所有搜索项)
- 获取本子评论(包括回评、剧透标识)
- 分类/排行榜
- 获取本子/章节详情
- 图片下载解码
- 个人收藏夹
- 接口加解密(APP的接口)
安装教程
⚠如果你没有安装过 Python,需要先前往 Python 官网下载 再执行以下步骤。
推荐使用 Python 3.14
快速上手
1. 下载本子方法
只需要使用如下代码,就可以下载本子JM123的所有章节的图片:
import jmcomic # 导入此模块,需要先安装.
jmcomic.download_album('123') # 传入要下载的album的id,即可下载整个album到本地.
# 也可以使用 Async API (详见教程: https://jmcomic.readthedocs.io/zh-cn/latest/tutorial/14_async_usage/)
import asyncio
asyncio.run(jmcomic.download_album_async('123'))
上面的 download_album方法还有一个参数option,可用于控制下载配置,配置包括禁漫域名、网络代理、图片格式转换、插件等等。
你可能需要这些配置项。推荐使用配置文件创建option,用option下载本子,见下章:
2. 使用option配置来下载本子
-
首先,创建一个配置文件,假设文件名为 option.yml
该文件有特定的写法,你需要参考这个文档 → 配置文件指南
下面做一个演示,假设你需要把下载的图片转为png格式,你应该把以下内容写进option.yml
download:
image:
suffix: .png # 该配置用于把下载的图片转为png格式
- 第二步,运行下面的python代码
import jmcomic
# 创建配置对象
option = jmcomic.create_option_by_file('你的配置文件路径,例如 D:/option.yml')
# 使用option对象来下载本子
jmcomic.download_album(123, option)
# 等价写法: option.download_album(123)
3. 使用命令行
[!TIP]
如果只想下载本子,使用命令行会比上述方式更加简单直接
例如,在windows上,直接按下 win+R 键,输入jmcomic xxx就可以下载本子。
示例:下载本子123的命令
jmcomic 123
同时下载本子123, 章节456的命令
jmcomic 123 p456
命令行模式也支持自定义option,你可以使用环境变量或者命令行参数:
a. 通过命令行 --option 参数指定option文件路径
jmcomic 123 --option="D:/a.yml"
b. 命令行不改,而是配置环境变量 JM_OPTION_PATH 为option文件路径(推荐)
[!TIP]
请自行google配置环境变量的方式,或使用powershell命令: setx JM_OPTION_PATH "D:/a.yml" 重启后生效
另外,jmcomic 还提供了一个美观的进度条能力,默认是开启的,但是需要你手动安装一个额外依赖 pip install rich。效果如下:

详细开启方法参考文档:启用美观的下载进度条
4. 查看本子详情(jmv 命令)
[!NOTE]
jmv 命令用于快速查看本子详情,不做下载。
适用场景:在某些网站上看到一串神秘车号,想快速看看具体是啥本子。此时只需copy原文本,按下 win+R,输入jmv [粘贴内容]即可
支持从任意文本中提取数字作为车号,方便直接粘贴各种格式的车号。
示例:
# 直接输入车号
jmv 350234
# 从混合文本中提取数字(提取出 350234)
jmv 350谁还没看过234
# 指定option文件(也支持环境变量,用法同上)
jmv 350234 --option="D:/a.yml"
# -y 参数:执行完毕后直接退出,无需按回车确认
jmv 350234 -y
输出效果:
🔍 正在查询 禁漫车号 - [350234] 的详情...
──────────────────────────────────────────────────
📖 标题: xxx
🆔 ID: JM350234
🔗 链接: https://18comic.vip/album/350234/
✍️ 作者: Author1, Author2
──────────────────────────────────────────────────
📅 发布日期: 2022-06-15
📅 更新日期: 2023-01-01
📄 总页数: 50
👀 观看: 2M
❤️ 点赞: 77K
💬 评论: 9801
──────────────────────────────────────────────────
🏷️ 标签: 标签1, 标签2, ...
🎭 人物: 角色A, 角色B, ...
📚 作品: 作品1, 作品2, ...
──────────────────────────────────────────────────
📑 章节 (2):
第1話 上 (id: 350234)
第2話 下 (id: 350235)
──────────────────────────────────────────────────
[运行结束] 请按回车键关闭窗口... (下次运行可附加 -y 参数跳过确认)
进阶使用
请查阅文档首页 → jmcomic.readthedocs.io
或者查看github仓库的文档 → github-repo-docs
(提示:jmcomic提供了很多下载配置项,大部分的下载需求你都可以尝试寻找相关配置项或插件来实现。)
项目特点
使用小说明
项目文件夹介绍
感谢以下项目
图片分割算法代码+禁漫移动端API
used by 项目
配套项目
我基于 jmcomic 构建的三个配套项目:本地阅读、AI 交互、安卓APK归档
| 项目 | 定位 |
|---|
| 📖 本地看本神器用浏览器看本支持下拉 / 单页 / 无缝双页阅读与局域网手机躺床看。🚀 pip install jm-view-server && jms |
| 🤖 Skills & MCP 集成提供 Skills + CLI 与 MCP 双路线接入 Claude Code / Codex 等,无需记车号写配置,自然语言搜本、查评论排雷、下载转 PDF。🚀 pip install jmcomic-ai · 查看接入指南 |
| 📱 禁漫官方移动端安装包自动追踪基于 jmcomic 由 GitHub Actions 定时检测禁漫 Android 客户端,自动归档最新官方 APK 至 Releases(附 iOS 安装指引)。🚀 前往 Releases 下载最新 APK |
Star History