嘿咻嘿 发表于 2024-9-27 15:34

【分享】b漫下载

本帖最后由 嘿咻嘿 于 2024-9-29 09:26 编辑

提供b漫平台购买了的漫画下载。因为想下b漫的还挺多的,所以把以前写的这个也单独分享下。
源码地址:https://github.com/heixxxxxx/Bcomic-download
网盘下载:https://pan.baidu.com/s/16H94TXZJS0cCYoNlBUOgWA?pwd=1111

优点:全套漫画下载 ,目录结构清晰。
缺点:cookie难找。但是操作过一次之后再用也还好?

使用方式:
双击exe。
网页端打开b漫,进入漫画详情页(https://manga.bilibili.com/detail/mc....)
输入cookie(这个操作比较复杂)
1.打开控制台(f12)
2.上方标签页 选择网络(Network)
3.刷新页面
4.可以看到很多条数据,选择比较偏下面的一条,单击
5.展开内容向下翻,找到Cookie: 复制后面的内容(注意不要把最后的回车换行也复制上了)
6.粘贴到exe框内
7.回车
8.输入comicId(看网址,mc后面的数字)
9.回车
10.输入话数(下载整本直接回车即可)


ps:如果账号没有购买,或者cookie输错了,只能下载预览页。

之前分享了其他平台的下载项目见:https://www.saraba1st.com/2b/thread-2200829-1-1.html,但是这个我只写了单话下载,浏览器插件不能修改下载地址,想全话下载分不了目录。就不做整本了。

关于项目:依旧是完全开源,代码很简单,nodejs写的。需要python版本...node打成执行文件效果比较好 我就给删了。没几行代码想要python可以照着写一个()
应该写过这个的人不少,能找到那种内嵌一个浏览器输入账号密码的会更方便(但是小心账号被盗用)
有技术问题欢迎回复讨论

嘿咻嘿 发表于 2024-9-27 15:42

对了,只有win系统能用,内部打包的是node16还是node12来着我忘记了,可能win7以下跑不了。
要是exe启动不了的、win以外系统的,硬要用就跑一下源码吧。这也是我后来选择下载器改开发浏览器插件的原因....

卡拉德利姆 发表于 2024-9-27 16:05

好好好 mark 谢谢楼主

liekong 发表于 2024-9-27 16:53

感谢,但建议加个权限

KDConan 发表于 2024-9-27 21:51

前几话免费的没买也可以下么?

—— 来自 鹅球 v3.1.88.3

秦修德 发表于 2024-9-27 22:15

KDConan 发表于 2024-9-27 21:51
前几话免费的没买也可以下么?

—— 来自 鹅球 v3.1.88.3

可以zsbd

suika2 发表于 2024-9-27 22:26

mark,谢谢楼主

蚊仔蚊仔蚊仔 发表于 2024-9-27 22:26

滋瓷

Dr.Eivlys 发表于 2024-9-27 22:54

试用了一下,非常方便,说一下我用 Chrome 找 cookie 的办法:F12 打开开发者工具,然后在网络(Network)一栏,选文档(Doc),然后看见mcxxxxx的文件,点开后折叠“常规”和“响应标头”,“请求标头”里面就能看到一长串的 cookie。


salic428 发表于 2024-9-27 23:05

请问报错显示EINVAL: invalid argument, mkdir,虽然显示正在下载但目录下没有新文件是什么情况呢?似乎不能通过管理员运行消除

嘿咻嘿 发表于 2024-9-28 01:11

salic428 发表于 2024-9-27 23:05
请问报错显示EINVAL: invalid argument, mkdir,虽然显示正在下载但目录下没有新文件是什么情况呢?似乎不 ...

哦!可能是这部漫画名,或集数名字有特殊符号,导致文件路径出问题。我印象里我处理过特殊字符…您把漫画名字给我 我再看看

BlueThree 发表于 2024-9-28 12:18

非常牛

就是下完一套以后,里面文件夹都是1-,2-,这种命名,MangaMeeya打不开,这个参数里能调整么?

嘿咻嘿 发表于 2024-9-29 09:29

BlueThree 发表于 2024-9-28 12:18
非常牛

就是下完一套以后,里面文件夹都是1-,2-,这种命名,MangaMeeya打不开,这个参数里能调整么? ...

您好,源码和网盘地址都更新了,加了一个自定义命名参数。但是就改成了 默认 和 纯数字 或 纯标题 。不知道能不呢满足您要求,不行就自己弄个批量修改文件名吧

嘿咻嘿 发表于 2024-9-29 10:45

本帖最后由 嘿咻嘿 于 2024-9-29 11:01 编辑

我之前上传源码太急了,忘记写忽略文件了,把依赖包也传上去了,拉取了源码的朋友不好意思哈,这么不专业{:3_1749:}

关于源码再补充一点,如果安装的是node v20往上,依赖的依赖有个项目废止了,导致不能运行。
如果有遇到这个问题的 :
1.可以尝试把安装的fetch模块改成axios(或者node原生的https模块),调整一下每行请求的代码。
2.降低node版本到16

早知道还是该用python

我特么吹爆 发表于 2024-9-29 21:42

本帖最后由 我特么吹爆 于 2024-9-29 22:23 编辑

漫画ID输入完,两次回车之后
为什么闪退了……

编辑:管理员身份运行不行,退出杀软也不行

新月祥 发表于 2024-9-29 23:14

限时购买的漫画在时限内也能下载吗?

嘿咻嘿 发表于 2024-9-30 09:00

新月祥 发表于 2024-9-29 23:14
限时购买的漫画在时限内也能下载吗?

可以的,只要您账号能看的内容都可以下载。

嘿咻嘿 发表于 2024-9-30 09:01

我特么吹爆 发表于 2024-9-29 21:42
漫画ID输入完,两次回车之后
为什么闪退了……


这个原因可能性太多了。 您可以用命令行工具cd到exe文件的目录下,直接执行exe吗,这样窗口就不会关闭了,然后把报错信息发给我看看。

嘿咻嘿 发表于 2024-9-30 09:26

因为十一放假 可能有人要用,或者问具体技术。我这期间解答不了。把整个爬虫逻辑给大家写这里了。
b漫没有做图片加密,全程按照他网站的api请求就能得到图片。所以我直接写接口名和传参,和接口返回值的关键数据。
可以按逻辑自己写一个python版。

1. 漫画信息
   接口:manga.bilibili.com/twirp/comic.v1.Comic/ComicDetail(post)
   传参:comic_id(mc后面的数字)
   返回:ep_list (目录,数组)

2. 单话信息
   接口:manga.bilibili.com/twirp/comic.v1.Comic/GetEpisode(post)
   传参:id(ep_list数组对象中的id,举例:ep_list.id)
   返回:- short_title(集数)
             - title      (单话标题)

3. 图片信息列表 (以下接口都需要在header里添加cookie)
   接口:manga.bilibili.com/twirp/comic.v1.Comic/GetImageIndex(post)
   传参:id(ep_list数组对象中的id,举例:ep_list.id)
   返回:images (数组)
             - path(关键路径)

4.通过上述拿到的path,获取真实图片地址和token
   接口:manga.bilibili.com/twirp/comic.v1.Comic/ImageToken(post)
   传参:urls:path数组(这个在网页端它是一张图片请求一次,实际这个接口使用可以直接传所有path的数组。网页在每个path后面拼了一个@1100w限制了图片大小。我们这不拼就下原图)
   返回:数组
             - url(图片地址)
             - token (请求凭证)

5. 上述的图片地址 url 拼上 token就能得到图片了。(get)
    url+'?token='+token
   

我特么吹爆 发表于 2024-9-30 17:15

嘿咻嘿 发表于 2024-9-30 09:01
这个原因可能性太多了。 您可以用命令行工具cd到exe文件的目录下,直接执行exe吗,这样窗口就不会关闭了 ...

换了台电脑,就可以了……
下架漫画都可以下载(已购买),强

fffish 发表于 2024-11-7 09:52

感谢楼主 这就试试
页: [1]
查看完整版本: 【分享】b漫下载