Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
本项目封装了一套可用于爬取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文件插件
合并所有图片为pdf文件插件
合并所有图片为长图插件
.github:GitHub Actions配置文件
assets:存放一些非代码的资源文件
src:存放源代码
jmcomic
模块tests:测试目录,存放测试代码,使用unittest
usage:用法目录,存放示例/使用代码
FAQs
Python API For JMComic (禁漫天堂)
We found that jmcomic demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.