Skip to main content

Python API For JMComic (禁漫天堂)

Project description

Python API For JMComic (禁漫天堂)

本项目封装了一套可用于爬取JM的Python API.

你可以通过简单的几行Python代码,实现下载JM上的本子到本地,并且是处理好的图片。

【指路】教程:使用GitHub Actions下载禁漫本子

【指路】教程:导出并下载你的禁漫收藏夹数据

友情提示:珍爱JM,为了减轻JM的服务器压力,请不要一次性爬取太多本子,西门🙏🙏🙏.

项目介绍

本项目的核心功能是下载本子,基于此,设计了一套方便使用、便于扩展,能满足一些特殊下载需求的框架。

目前核心功能实现较为稳定,项目也处于维护阶段。

除了下载功能以外,也实现了其他的一些禁漫接口,按需实现,具体如下。

已实现的禁漫API:

  • 登录
  • 搜本
  • 分类 (排行榜)
  • 本子章节详情
  • 图片下载解码
  • 收藏夹
  • 移动端接口加解密

安装教程

  • 通过pip官方源安装(推荐,并且更新也是这个命令)

    pip install jmcomic -i https://pypi.org/project -U
    
  • 通过源代码安装

    pip install git+https://github.com/hect0x7/JMComic-Crawler-Python
    

快速上手

使用下面的两行代码,即可实现功能:把某个本子(album)里的所有章节(photo)下载到本地

import jmcomic  # 导入此模块,需要先安装.
jmcomic.download_album('422866')  # 传入要下载的album的id,即可下载整个album到本地.
  • v2.2.9: 新增命令行调用方式,上述的代码可以转为一行命令
# 下载album_id为422866的本子
$ jmcomic 422866

进阶使用

文档网站:jmcomic.readthedocs.io

进阶使用可以参考:jmcomic常用类和方法演示

下面列出的是一些常用的文档:

项目特点

  • 绕过Cloudflare的反爬虫

  • 实现禁漫APP接口最新的加解密算法 (1.6.3)

  • 用法多样:

  • 支持网页端移动端两种客户端实现,可通过配置切换(移动端不限ip兼容性好,网页端限制ip地区但效率高

  • 支持自动重试和域名切换机制

  • 多线程下载(可细化到一图一线程,效率极高)

  • 可配置性强

    • 不配置也能使用,十分方便
    • 配置可以从配置文件生成,支持多种文件格式
    • 配置点有:请求域名 客户端实现 是否使用磁盘缓存 同时下载的章节/图片数量 图片格式转换 下载路径规则 请求元信息(headers,cookies,proxies)
  • 可扩展性强

    • 支持自定义本子/章节/图片下载前后的回调函数
    • 支持自定义类:Downloader(负责调度) Option(负责配置) Client(负责请求) 实体类
    • 支持自定义日志、异常监听器
    • 支持Plugin插件,可以方便地扩展功能,以及使用别人的插件,目前内置插件有
      • 登录插件
      • 硬件占用监控插件
      • 只下载新章插件
      • 压缩文件插件
      • 下载特定后缀图片插件
      • 发送QQ邮件插件
      • 日志主题过滤插件
      • 自动使用浏览器cookies插件
      • jpg图片合成为一个pdf插件
      • 导出收藏夹为csv文件插件

使用小说明

  • Python >= 3.7
  • 个人项目,文档和示例会有不及时之处,可以Issue提问

项目文件夹介绍

  • .github:GitHub Actions配置文件

  • assets:存放一些非代码的资源文件

    • docs:项目文档
    • option:存放配置文件
  • src:存放源代码

    • jmcomic:jmcomic模块
  • tests:测试目录,存放测试代码,使用unittest

  • usage:用法目录,存放示例/使用代码

感谢以下项目

图片分割算法代码+禁漫移动端API

Readme Card

Project details


Release history Release notifications | RSS feed

This version

2.5.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jmcomic-2.5.9.tar.gz (60.0 kB view details)

Uploaded Source

Built Distribution

jmcomic-2.5.9-py3-none-any.whl (64.1 kB view details)

Uploaded Python 3

File details

Details for the file jmcomic-2.5.9.tar.gz.

File metadata

  • Download URL: jmcomic-2.5.9.tar.gz
  • Upload date:
  • Size: 60.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for jmcomic-2.5.9.tar.gz
Algorithm Hash digest
SHA256 87c1c4d407d77ee5c176e0a1f00c91ce98cd685fcb716d4821bd20545bd07f65
MD5 7a1976296197c9fc727084e8cc0af360
BLAKE2b-256 aa5abaa797c3a5be043df94ab0012e2b6ea0ad5182101a39dbc5e24dcdf26a93

See more details on using hashes here.

File details

Details for the file jmcomic-2.5.9-py3-none-any.whl.

File metadata

  • Download URL: jmcomic-2.5.9-py3-none-any.whl
  • Upload date:
  • Size: 64.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for jmcomic-2.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b26a75da423dbc15382a601b5aecfd5cc6c1e0e86a9dd5bdaf822542e2e43f
MD5 a72ecdd490e33a3ddd9527332d74b1ff
BLAKE2b-256 79504ed79dde97f32373a28ded506afa2de490aacbee433e8f94723fe0d2686d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page