Python API for JMComic | 提供Python API访问禁漫天堂,同时支持网页端和移动端 | 禁漫天堂GitHub Actions下载器🚀
Go to file
2023-08-05 19:23:40 +08:00
.github/workflows v2.1.4: 工作流优化,支持在Actions页面直接提交要下载的本子 (#80) 2023-07-19 14:38:05 +08:00
assets v2.0.6: 修复代理和禁漫发布页请求的一些问题 (#62) 2023-06-23 14:31:10 +08:00
src/jmcomic v2.1.9: 支持自定义保存图片,优化debug的topic (#88) 2023-08-05 19:23:40 +08:00
tests/test_jmcomic v2.1.8: 默认启用client-cache、所有Downloader共用一个client,优化代码 (#86) 2023-08-03 22:57:12 +08:00
usage v2.1.6: 简化字段缓存的代码,调整下载章节并发数,更新文档 (#83) 2023-07-31 13:51:03 +08:00
.gitignore init commit 2023-04-02 22:19:44 +08:00
LICENSE init commit 2023-04-02 22:19:44 +08:00
README.md v2.1.6: 简化字段缓存的代码,调整下载章节并发数,更新文档 (#83) 2023-07-31 13:51:03 +08:00
requirements-dev.txt v2.1.5: 重构代码结构,使得更简洁可扩展 (#81) 2023-07-26 17:42:40 +08:00
setup.py init commit 2023-04-02 22:19:44 +08:00

Python API For JMComic (禁漫天堂)

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

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

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

安装教程

  • 通过pip官方源安装推荐

    pip install jmcomic -i https://pypi.org/project --upgrade
    
  • 本地安装

    pip install -e ./
    

快速上手

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

import jmcomic  # 导入此模块,需要先安装.
jmcomic.download_album('422866')  # 传入要下载的album的id即可下载整个album到本地.
# 上面的这行代码还有一个可选参数option: JmOption表示配置项
# 配置项的作用是告诉程序下载时候的一些选择,
# 比如,要下载到哪个文件夹,使用怎样的路径组织规则(比如[/作者/本子id/图片] 或者 [/作者/本子名称/图片].
# 如果没有配置,则会使用 JmOption.default(),下载的路径是[当前工作文件夹/本子名称/图片].
# 如果你想要配置请参考assets/config/和usgae/下的文档和示例.

进一步的使用可以参考usage文件夹下的示例代码: getting_started.py sample_usage.py

项目特点

  • 绕过Cloudflare的反爬虫
  • 支持使用Github Action下载漫画,不会编程都能用(教程使用Github Actions下载禁漫本子
  • 可配置性强
    • 不配置也能使用,十分方便
    • 配置可以从配置文件生成支持多种文件格式无需写Python代码
    • 配置点有:是否使用磁盘缓存 图片类型转换 下载路径 请求元信息headers,cookies,代理)等
  • 可扩展性强
    • 支持自定义本子/章节/图片下载前后的回调函数
    • 支持自定义debug日志的开关/格式
    • 支持自定义Option/Client/实体类
  • 支持重试和域名切换机制
  • 多线程下载(可细化到一图一线程,效率极高)
  • 跟进了JM最新的图片分割算法2023-02-08

使用小说明

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

项目文件夹介绍

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

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

    • jmcomicjmcomic模块
  • tests测试目录存放测试代码使用unittest

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

感谢以下项目

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

Readme Card