本项目封装了一套可用于爬取JM的Python API.
你可以通过简单的几行Python代码,实现下载JM上的本子到本地,并且是处理好的图片。
友情提示:珍爱JM,为了减轻JM的服务器压力,请不要一次性爬取太多本子,西门🙏🙏🙏.
本项目的核心功能是下载本子。
基于此,设计了一套方便使用、便于扩展,能满足一些特殊下载需求的框架。
目前核心功能实现较为稳定,项目也处于维护阶段。
除了下载功能以外,也实现了其他的一些禁漫接口,按需实现。目前已有功能:
⚠如果你没有安装过Python,需要先安装Python再执行下面的步骤,且版本需要>=3.7(点我去python官网下载)
通过pip官方源安装(推荐,并且更新也是这个命令)
pip install jmcomic -i https://pypi.org/project -U
通过源代码安装
pip install git+https://github.com/hect0x7/JMComic-Crawler-Python
只需要使用如下代码,就可以下载本子JM422866
的所有章节的图片:
import jmcomic # 导入此模块,需要先安装.
jmcomic.download_album('422866') # 传入要下载的album的id,即可下载整个album到本地.
上面的 download_album
方法还有一个参数option
,可用于控制下载配置,配置包括禁漫域名、网络代理、图片格式转换、插件等等。
你可能需要这些配置项。推荐使用配置文件创建option,用option下载本子,见下章:
首先,创建一个配置文件,假设文件名为 option.yml
该文件有特定的写法,你需要参考这个文档 → 配置文件指南
下面做一个演示,假设你需要把下载的图片转为png格式,你应该把以下内容写进option.yml
download:
image:
suffix: .png # 该配置用于把下载的图片转为png格式
import jmcomic
# 创建配置对象
option = jmcomic.create_option_by_file('你的配置文件路径,例如 D:/option.yml')
# 使用option对象来下载本子
jmcomic.download_album(422866, option)
# 等价写法: option.download_album(422866)
请查阅文档首页→jmcomic.readthedocs.io
(提示:jmcomic提供了很多下载配置项,大部分的下载需求你都可以尝试寻找相关配置项或插件来实现。)
绕过Cloudflare的反爬虫
实现禁漫APP接口最新的加解密算法 (1.6.3)
用法多样:
支持网页端和移动端两种客户端实现,可通过配置切换(移动端不限ip兼容性好,网页端限制ip地区但效率高)
支持自动重试和域名切换机制
多线程下载(可细化到一图一线程,效率极高)
可配置性强
请求域名
客户端实现
是否使用磁盘缓存
同时下载的章节/图片数量
图片格式转换
下载路径规则
请求元信息(headers,cookies,proxies)
等可扩展性强
Downloader(负责调度)
Option(负责配置)
Client(负责请求)
实体类
等登录插件
硬件占用监控插件
只下载新章插件
压缩文件插件
下载特定后缀图片插件
发送QQ邮件插件
日志主题过滤插件
自动使用浏览器cookies插件
jpg图片合成为一个pdf插件
导出收藏夹为csv文件插件
.github:GitHub Actions配置文件
assets:存放一些非代码的资源文件
src:存放源代码
jmcomic
模块tests:测试目录,存放测试代码,使用unittest
usage:用法目录,存放示例/使用代码
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。