Skip to content

使用python+copymanga API来下载copymanga(拷贝漫画)中的漫画,支持批量+选话下载和获取您收藏的漫画并下载!(全平台支持(pypi))

License

Notifications You must be signed in to change notification settings

misaka10843/copymanga-downloader

Repository files navigation

Warning

在2024.1.28更新之后,cbz功能的保存路径被改变,请所有使用cbz功能的用户最好查看修改内容 了解新路径以及元信息问题!

在2024.11.16时copymanga下架了所有(应该)粉色网站漫画,如果您的更新列表中有粉色网站代理的漫画可能会导致程序终止,可能需要您手动删除对应漫画,还请谅解(可惜了之后看高画质的话不能白嫖了)

Note

请注意,在提交ISSUE前,请确保@misaka10843,以防止长时间未查看!

因为尽可能缓解copymanga服务器压力,此程序限制了每分钟只能访问15次API,还请理解!

我并不希望此工具影响copymanga的正常运行,要是把copymanga的服务器下崩了或者怎么样那你还能在哪里看到收录这么全的网站???如果可以还请多多访问官网点点广告支持一下他们,对于使用绝大部份的第三方小网站的下载器都是同理,服务器流量真的很贵,如果为了用户体验可能还会套上cdn会更贵,如果爬虫泛滥可能还会用Cloudflare等手段阻止爬虫。

为了您能够更好的更新程序,建议直接运行pip install copymanga-downloader安装pip包后直接运行copymanga-dl来启动程序

copymanga-downloader

Head diagram

PyPI - Version GitHub contributors GitHub Repo stars

前言💭

推荐在模拟器/WSA/安卓手机中安装tachiyomiCopymanga插件并使用tachiyomi下载!

因为这样可以尽可能的保证下载稳定与订阅系统正常

此程序只是方便下载,而不是进行订阅操作(下载与订阅系统不稳定)

我们已经正式基本支持命令行参数下载并且完全重构啦!

请看命令行参数重大更新的部分!

Q&A🗯️

Q1: 为什么没有支持评论下载?

A1: 因为本来就没有必要,在我前期设计的时候就没有考虑进去

Q2: 为什么我提了issue这么长时间没有看/没有修复?

A2: 因为本人现在并不经常使用,因为之前是因为没有一个比较好的批量下载的工具才制作的,现在基本上已经不需要批量下载了 (毕竟下载下来没有好看的阅读器有什么用?而我使用的阅读器就有插件可以下载和在线浏览,所以就并没有用了)

Q3: 为什么没有GUI

A3: 如Q1一样,而且本仓库还是在我自学py的时候编写的,现在的代码有点过于💩山,并且如Q2一样已经不怎么用此工具了,而且GUI做出来有什么用呢?(要做GUI那还不如在基础之上设计一个阅读器还差不多)

Q4: 为什么我一下载就API限制?

A4: 我并不希望此工具影响copymanga的正常运行,要是把copymanga的服务器下崩了或者怎么样那你还能在哪里看到收录这么全的网站???如果可以还请多多访问官网点点广告支持一下他们

Q5: 我看见xy/tb/pdd在卖此仓库/使用此仓库提供功能

A5:如果情况属实的话我会立即归档/删除仓库,我和其他贡献者写出来的东西不是为这些zazong提供赚钱的,反正这些电商平台举报了也没啥用还不如直接不维护算了

Q6: 我想支持其他漫画平台可以吗?

A6: 此仓库仅支持copymanga,也不会考虑支持其他任何网站

Q7: 我希望提供我的代码,我该怎么办?

A7: 在提供之前请先查看是否与现有功能冲突,添加之后是否会出现问题,代码是否清晰,如果没有问题我会在看见之后测试成功就合并

Q8: 为什么更新了这么多却不在releases升级版本号?

A8: 因为懒(不是),感觉没有更新什么实质性内容所以就没有更新,如果需要的话请在Actions中下载

下载

推荐使用pip进行包管理

安装:pip install copymanga-downloader

更新:pip install --upgrade copymanga-downloader

启动命令:copymanga-dl

releases(稳定)

actions(测试)

or

git clone https://github.com/misaka10843/copymanga-downloader.git && cd copymanga-downloader && python setup.py install

git clone https://github.com/misaka10843/copymanga-downloader.git && cd copymanga-downloader && pip install -r requirements.txt && python main.py

声明 📢

我们制作此工具是纯粹因为PC端无法下载漫画,我们并不希望个人用户一直依靠此工具并且长时间/多文件下载来增加服务器负担

在使用此工具时理应是小范围/短时间下载,而不是大范围/长时间下载,如果因此出现了问题我们是不会受理的

请尽量使用官方网站!

注意! ‼️

如果您的issue已经过了几天还没有被我受理,还请您发送邮件到[email protected]来通知我,十分感谢!

因为copymanga为简体/繁体中文的漫画网站,所以此程序预计不会添加其他语言,还请谅解

为了尽可能的防止对服务器增加过大负担,我们将API请求限制为15次每分钟,还请谅解!(因为将API请求的时间与次数保存在设置中,您就算重新打开程序都会被限制的!)

image

技术栈 ⚒️

python

Thanks 🎁

  • KILLER2017(优化下载阅读体验)
  • Z-fly(贡献与提出一些问题)
  • zhongfly(贡献与提供一些问题解决方法和优化代码)
  • zaazwm(添加其他内容的下载)
  • blacklein(添加setup.py与发布到pypi)
  • TwoOnefour(添加打包为epub及推送到kindle设备)

简介 🗒️

此程序使用 python来下载copymanga中的漫画

并且支持全本下载以及范围下载(例如 10-20话,或者是 11话)

而且我在写的时候发现了copymanga每章的图片顺序似乎是打乱的,

但是也有个 word数组对应着每张图片的顺序,所以就小改一下,下载完之后99%是正确顺序的qwq

(如果不是那就重新下载一遍,如果还有的话就发issuse吧qwq)

如果您是安卓用户,那么您可以使用tachiyomi 客户端尝试下载(但是需要安装 copymanga的插件)

如果您需要从右到左的拼接图片, 并且两张为一组的话,您可以尝试使用这个版本 中的 Image_stitching.exe来实现(只提供简单功能,并未做出优化)

如果发现无法获取/下载的时候,请多试几次,如果不行的话请重新设置一下配置,选择您能访问的API地址

image

如何配置kindle推送📚

详细请看copymanga-downloader自动推送到kindle的使用教程

请注意,在实现转换为epub时使用了第三方库KCC ,您需要自行在kcc/releases下载对应平台的执行程序

(windows平台需要下载kcc_c2e_{版本号}.exe)

然后根据上方的使用教程进行配置

命令行参数🖥️

您可以在命令行中输入 {copymanga-downloader的文件名} -h查看现在所支持的参数

usage: main.py [-h] [--MangaPath MANGAPATH] [--MangaGroup MANGAGROUP] [--Url URL] [--Output OUTPUT] [--subscribe SUBSCRIBE] [--UseWebp USEWEBP] [--UseOSCdn USEOSCDN] [--MangaStart MANGASTART] [--MangaEnd MANGAEND] [--Proxy PROXY]

options:
  -h, --help            show this help message and exit
  --MangaPath MANGAPATH
                        漫画的全拼,https://copymanga.site/comic/这部分
  --MangaGroup MANGAGROUP
                        漫画的分组Path_Word,默认为default
  --Url URL             copymanga的域名,如使用copymanga.site,那就输入site(默认为site)
  --Output OUTPUT       输出文件夹
  --subscribe SUBSCRIBE
                        是否切换到自动更新订阅模式(1/0,默认关闭(0))
  --UseWebp USEWEBP     是否使用Webp(1/0,默认开启(1))
  --UseOSCdn USEOSCDN   是否使用海外cdn(1/0,默认关闭(0))
  --MangaStart MANGASTART
                        漫画开始下载话(如果想全部下载请输入0)
  --MangaEnd MANGAEND   漫画结束下载话(如果只想下载一话请与MangaStart相同,如果想全部下载请输入0)
  --Proxy PROXY         设置代理

其中,MangaPath/MangaStart/MangaEnd三个参数是必填项

而且,MangaPathhttps://{copymanga域名}/comic/{这一部分}

比如我想下载別哭啊魔王醬

那么我应该像图中一样复制红框中选择的字母

高清图片链接

img

命令示例

如果我想下载別哭啊魔王醬的第一话

我可以这样输入

python main.py --Url site --MangaPath biekuamowangjiang --MangaStart 1 --MangaEnd 1 --Proxy http://127.0.0.1:10809 --UseOSCdn 1

或者输入精简版

python main.py --MangaPath biekuamowangjiang --MangaStart 1 --MangaEnd 1

如果我想下载星靈感應的全话

我可以这样输入

python main.py --Url site --MangaPath xinglingganying --MangaStart 1 --MangaEnd 38 --Proxy http://127.0.0.1:10809 --UseOSCdn 1

或者输入精简版

python main.py --MangaPath xinglingganying --MangaStart 1 --MangaEnd 38

**(注意!虽然说是下载全话,其实就是将范围定在了1话-最新话,所以如果下载其他漫画的全话请参考漫画更新到多少话了,然后再替换38) **

更新 🔬

重大更新 📈

2024/11/24: 添加UA设置(仅支持到配置文件中自定义),修复多个bug

2024/1/14: @TwoOnefour添加账号密码登陆和转换为epub并推送到kindle的功能

2023/5/12: 添加CBZ支持,优化图片API限制,添加批量下载与单话下载的章节名称提示

2023/4/25: 完成 #57 #58 #59 所需的功能

2023/3/31(重大):完全重构程序,添加多线程+自动更新等众多功能

2023/1/6(重大):添加直接使用命令参数进行下载,并且使用命令参数进行下载时不会出现任何输入框,优化download,修复download中并未使用代理以及headers

2022/12/5: 添加命令行支持(下载setup.py后python setup.py install)感谢@blacklein提供的文件!

2022/7/26: HotFix分组输入数字导致报错(str未转int)

2022/7/5: 修复漫画分组只显示“默认”与“其他”的问题,添加从GitHub中获取copymanga的url列表,添加设置缺损后报错并备份老设置文件后重新进入初始化

2022/6/8: 在@zaazwm帮助下实现了“其他”内容的下载,修复收藏导出问题与导出csv

2022/5/15: 新增收藏导出功能(最高支持500个)

2022/3/29: 在 @zhongfly 帮助下支持了一些功能,并可能修复了问题,而且还顺便帮忙优化了下代码www

2022/3/24: 暂时支持设置一个功能( 但是大概率无法下载,请注意,如果出现问题请在这里提交相关信息

2022/2/25: 修复copymanga的url问题(copymanga.com似乎已经被弃用,已更换到copymanga.net)

2022/2/13: Github自动编译Windows EXE文件!actions

2022/1/14: Github自动编译Linux(应该)二进制文件!actions

2021/11/18: 增加获取用户收藏的漫画并且支持下载

放几张截图qwq(时效性不敢保证)

更改设置

image

下载进度条

image

漫画搜索

image

如何使用 🖥️

立即使用(Windows)

1.点击这里 下载最新的从作者电脑中编译的exe版本,或者下载GitHub中的编译文件actions( 稳定无法保证)

2.将此程序放入一个空文件夹(不放也没问题,就是数据会写到当前文件夹中)

3.直接双击exe即可qwq

立即使用(Linux,无法保证能否运行)

1.点击actions选择最新的编译( 100%同步更新,但不能保障是否能运行)

2.下载 附件中的 copymanga-download-Linux压缩包

3.解压 copymanga-download-Linux压缩包

4.将此程序放入一个空文件夹(不放也没问题,就是数据会写到当前文件夹中)

5.运行即可qwq

编译/原代码使用(所有系统均支持)

⭐️ 建议pip安装(如果有本地有多个Python版本,建议用pipx安装)

# macOS安装pipx
brew install pipx
pipx ensurepath

# Linux安装pipx
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Windows安装pipx
python -m pip install --user pipx

# 从远程仓库安装copymanga-dl
pip install git+https://github.com/misaka10843/copymanga-downloader.git
或
pipx install git+https://github.com/misaka10843/copymanga-downloader.git

# 通过镜像站从远程仓库安装copymanga-dl
pip install git+https://ghproxy.com/https://github.com/misaka10843/copymanga-downloader.git
或
pipx install git+https://ghproxy.com/https://github.com/misaka10843/copymanga-downloader.git

1.点击这里直接下载最新的源码包

2.解压后放入一个空文件夹(不放也没问题,就是数据会写到当前文件夹中)

3.先运行这个来安装依赖 pip install requirements.txt(其实也就只有个 requests需要安装,其他都是python自带的( ̄▽ ̄))

4.然后运行 python main.py即可

命令行使用(beta)

1.下载仓库中的 setup.py

2.切换到下载目录中运行 python setup.py install

3.输入 copymanga-dl即可

如何获取authorization(此为获取用户收藏漫画) 📒

1.访问https://copymanga.org/web/person/shujia

2.按下F12后刷新页面

3.找到类似 comics?limit=12&offset=0&free_type=1&ordering=-datetime_modifier的文件(?)后点击

4.在请求标头中找到 authorization: Token {各有各的不同},复制 Token {各有各的不同} 即可,如 Token 1293asd123s8adhh2juhsada2

图片(大图查看):

图文

注意 ‼️

关于api

此程序所使用的所有资料获取的API均为官方API 具体使用如下

漫画搜索:
https://api.copymanga.org/api/v3/search/comic?format=json&limit=18&offset=0&platform=3&q={关键词}

漫画章节获取:
https://api.copymanga.org/api/v3/comic/{漫画path_word}/group/default/chapters?limit=500&offset=0&platform=3

漫画每章图片获取:
https://api.copymanga.org/api/v3/comic/{漫画path_word}/chapter2/{章节UUID}?platform=3

用户收藏漫画获取(需要设置headers['authorization']):
https://copymanga.org/api/v3/member/collect/comics?limit=50&offset=0&free_type=1&ordering=-datetime_modifier

关于代码

关于有时候下载会卡住

这应该是copymanga的服务器限制

绝对不是我的问题>︿<

如果遇见这种情况的话请 Ctrl+C终止程序后使用 范围下载或者 单话下载

(其实单话下载与范围下载使用的代码是一样的,只不过就是直接将范围下载的两个参数合并成一个而已qwq)

或者可能是已经下完了,但是还没结束循环qwq

关于代码注解

因为代码注解时使用了VScode的 Better Comments插件来使注解有对应颜色来让开发者更加明了地分析代码,

所以建议您也安装此插件来获取更好的代码理解


更多资料还在编写中....

About

使用python+copymanga API来下载copymanga(拷贝漫画)中的漫画,支持批量+选话下载和获取您收藏的漫画并下载!(全平台支持(pypi))

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Languages