本项目实现了以下功能

  1. 多线程下载漫画
  2. 每一话导出PDF
  3. 合并PDF 并加入Kindle能解析的标签

GitHub链接: GitHub传送门

下面开始分析环节

1. 漫画详情获取

要下载漫画,首先需要获取全部章节

打开漫画详情页,可以看到漫画详情URL由这几部分构成

https://manga.bilibili.com/detail/mc25493无用部分 [ https://manga.bilibili.com/detail/ ] 漫画ID [ mc25493 ]

因此,在bilibili漫画中,漫画ID用于标识漫画

下一步就是获取全部章节,打开浏览器网络调试,由于bilibili漫画是前后端分离的结构,所以请求类别里面选XHR。

我们在请求列表里可以看到一个 “ComicDetail“ 的请求,点开发现这个请求的epi_list中包含了每一集漫画的”id“,和更多信息。我们现在即可获取每一集的名字,是否购买等方便进一步开发的信息。

2. 下载每一集漫画

获取到漫画ID后,我们可以进行下载,首先打开漫画阅读界面,再开网络调试,选XHR

一个叫做 ’GetImageIndex‘的请求可以引起我们的注意。

这个请求接受ep_id 也就是这一集的id,返回每一张图片的url,通过这个api,我们可以轻易下载每一张图片,再加入多线程下载,即可实现批量下载啦!

如果喜欢这个程序,就点个star吧!

BiliBili漫画爬虫研究 (附代码Github链接)相关推荐

  1. 【ML】基于机器学习的心脏病预测研究(附代码和数据集,多层感知机模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...

  2. 【ML】基于机器学习的心脏病预测研究(附代码和数据集,随机森林模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...

  3. 【ML】基于LSTM的心脏病预测研究(附代码和数据集,系列1)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...

  4. python爬虫源码附注解_Python小白写的三个入门级的爬虫(附代码和注释)

    Python小白写的三个入门级的爬虫(附注释) 写在前面的话:作者目前正在学习Python,还是一名小白,所以注释可以会有些不准确的地方,望谅解. 这三个小爬虫不是很难,而且用处可能也不大,主要还是锻 ...

  5. 送你一份使用k近邻算法实现回归的实用指南(附代码、链接)

    作者:AISHWARYA SINGH, AUGUST 22, 2018 翻译:赵雪尧 校对:张玲 本文约4200字,建议阅读10分钟. 本文解释了在k近邻算法工作原理的基础上,简单介绍三种计算点距离方 ...

  6. 独家 | R语言中K邻近算法的初学者指南:从菜鸟到大神(附代码&链接)

    作者:Leihua Ye, UC Santa Barbara 翻译:陈超 校对:冯羽 本文约2300字,建议阅读10分钟 本文介绍了一种针对初学者的K临近算法在R语言中的实现方法. 本文呈现了一种在R ...

  7. 常用的 Normalization 方法:BN、LN、IN、GN(附代码&链接)

    来源:知乎 本文约2700字,建议阅读8分钟. 本文带你了解并区分常用的Normalization. 常用的Normalization方法主要有: Batch Normalization(BN,201 ...

  8. k折交叉验证优缺点_R语言中K邻近算法的初学者指南:从菜鸟到大神(附代码&链接)...

    作者:Leihua Ye, UC Santa Barbara 翻译:陈超 校对:冯羽 本文约2300字,建议阅读10分钟 本文介绍了一种针对初学者的K临近算法在R语言中的实现方法. 本文呈现了一种在R ...

  9. 基于大数据个性化音乐推荐算法分析(附代码github地址)

    github网址:https://github.com/ciecus/music_lgb_recommend_kkbox 欢迎fork我,和我讨论呀~ 摘  要:音乐推荐算法针对当今时代信息过载的问题 ...

最新文章

  1. Spring PropertyPlaceholderConfigurer
  2. STRUTS2单元测试
  3. 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone
  4. Redis 6.0 新特性,多线程连环 13 问!
  5. `MediaDevices.getUserMedia` `undefined` 的问题
  6. 【Redis】2. Redis数据类型 String以及key的设置约定
  7. Gerrit评审报错[remote rejected] develop- refs/for/develop(no new changes)
  8. php读取文件和读取redis,本地测试读取redis和普通文件缓存的速度,redis慢一倍?...
  9. 在linux下也能进行51单片机开发吗?送你一份教程。
  10. leetcode1338. 数组大小减半(贪心算法)
  11. 深入理解 操作系统 LRU算法(以洛谷P1540题为例)
  12. git(6)---Repo 命令参考资料
  13. 安兔兔发布9月份Android性能榜:855霸榜,华为竟垫底
  14. OSI参考模型(2)
  15. Openlayer:学习笔记之简单的ol.Map应用
  16. MAC OS下使用JAVE将amr转mp3的坑
  17. Maven Pom文件详解
  18. 从设计心理学理解交互设计的原则
  19. <机器学习 房价预测 >对贝壳租房网 信息爬取 及处理。
  20. Ural 1671 - Anansi's Cobweb 倒过来做...并查集维护..

热门文章

  1. w3cshool之JavaScript对象_RegExp
  2. 五、数字签名及存在的问题
  3. Mysql存储时间,对应Api及对应的java属性
  4. Java实现 LeetCode 481 神奇字符串
  5. Fully-Convolutional Siamese Networks for Object Tracking全文翻译
  6. 标签打印软件如何自动批量生成流水号
  7. MTK 充电基本流程
  8. android中的广播退出机制broadcast
  9. python课程设计 文字游戏 魔塔1
  10. 漏洞批量利用扫描框架