Closed lanyeeee closed 1 month ago
目前BiliPlus漫画页面的html里不再直接包含图片地址,取而代之的是一些query参数,通过这些参数发起的请求会被重定向到真正的图片地址
例如: 某图片的query参数为: ?act=get_image_url&epid=595701&request_time=1721133361&file=bb35c716a7781be297f57f1e39b21dfc0375e773.jpg&append= 禁用requests的重定向,然后带cookie发送以下请求 https://www.biliplus.com/manga/?act=get_image_url&epid=595701&request_time=1721133361&file=bb35c716a7781be297f57f1e39b21dfc0375e773.jpg&append= 从响应头中就能得到真正的图片地址
?act=get_image_url&epid=595701&request_time=1721133361&file=bb35c716a7781be297f57f1e39b21dfc0375e773.jpg&append=
requests
https://www.biliplus.com/manga/?act=get_image_url&epid=595701&request_time=1721133361&file=bb35c716a7781be297f57f1e39b21dfc0375e773.jpg&append=
这个PR对图片地址的解析就是基于上面的例子
经过我的测试,用多线程进行发请求拿图片地址操作,极易触发BiliPlus的503错误 即使把executor大小设置为4,503错误依然会频繁出现 大概是因为在外面有16个并发(16个进度条在工作),即使每个进度条只并发4个,总数也有64
发请求拿图片地址
executor
优: 只修改一个文件,不破坏DownloadManager.py和Episode.py的抽象 劣: 每个进度条进行解析章节图片地址的耗时变得很长,且在用户界面上完全没有提示
DownloadManager.py
Episode.py
解析章节图片地址
在我的网络环境中,无论是否使用重定向,下载的总耗时都差不多 解决这个issue #154
功能描述
目前BiliPlus漫画页面的html里不再直接包含图片地址,取而代之的是一些query参数,通过这些参数发起的请求会被重定向到真正的图片地址
例如: 某图片的query参数为:
?act=get_image_url&epid=595701&request_time=1721133361&file=bb35c716a7781be297f57f1e39b21dfc0375e773.jpg&append=
禁用requests
的重定向,然后带cookie发送以下请求https://www.biliplus.com/manga/?act=get_image_url&epid=595701&request_time=1721133361&file=bb35c716a7781be297f57f1e39b21dfc0375e773.jpg&append=
从响应头中就能得到真正的图片地址这个PR对图片地址的解析就是基于上面的例子
为什么不用多线程
经过我的测试,用多线程进行
发请求拿图片地址
操作,极易触发BiliPlus的503错误 即使把executor
大小设置为4,503错误依然会频繁出现 大概是因为在外面有16个并发(16个进度条在工作),即使每个进度条只并发4个,总数也有64优劣
优: 只修改一个文件,不破坏
DownloadManager.py
和Episode.py
的抽象 劣: 每个进度条进行解析章节图片地址
的耗时变得很长,且在用户界面上完全没有提示在我的网络环境中,无论是否使用重定向,下载的总耗时都差不多 解决这个issue #154