在发布页面下载或点击这里:Windows x64 发布版 v0.3.3
此版本为BW提供了以下优秀功能:
示例截图:
如果在下载某些漫画时发现文件名全变成了"cover_or_extra_xxx",请提交bug。可能BW存在我未见过的URL模式或他们改变了模式,应该覆盖这些情况以确保页码正常工作。
在发布页面下载或点击这里:Windows x64 发布版 v0.3.2
此版本改进了保存快照的性能,如果你在下载过程中遇到浏览器变得非常慢的问题,请尝试新版本。
在发布页面下载或点击这里:Windows x64 发布版 v0.3.1
修复了部分宽度小于800px的漫画无法下载的问题,详见#113。
在发布页面下载或点击这里:Windows x64 发布版 v0.3
将Chromium更新至109.0.5393,可能修复了一些问题。
在发布页面下载或点击这里:Windows x64 发布版 v0.2.1
此版本基于Chromium 106.0.5243.0,变更如下:
https://ebook.tongli.com.tw
,下载的图片将保存在C:\bw_export_data\TONGLI_URL_STRING
https://www.dlsite.com
,但这是保存缓存图片,所以最后3~4页应该按以下方式下载(假设有10页):
https://book.dmm.com
,使用以下脚本移动页面:window.i=0;setInterval(()=>{NFBR.a6G.Initializer.views_.menu.options.a6l.moveToPage(window.i);console.log(window.i);window.i++;},3000)
上述脚本适用于DMM,对于BW请使用以下脚本:
window.i=0;setInterval(()=>{NFBR.a6G.Initializer.L7v.menu.options.a6l.moveToPage(window.i);console.log(window.i);window.i++;},3000)
在发布页面下载或点击这里:Windows x64 发布版 v0.2
使用方法(与旧版相同):
BW-downloader-chrome-bin.zip
文件。powershell
或cmd
,cd
到解压后的浏览器目录。.\chrome.exe --user-data-dir=c:\bw-downloader-profile --no-sandbox
打开浏览器。C:\bw_export_data
请勿将其用于其他网站,仅用作漫画下载器,它不如普通Chrome浏览器安全!
在发布页面下载或点击这里:Windows x64 发布版 v0.1
如果你正在寻找下载BW的方法,请尝试这个方法,这真的是个值得尝试的好方法,你会喜欢的!
对于coma,请参见下文。
现在有了一个新方法,使用定制的chromium
浏览器,可以非常轻松地下载BW原始图像及其原始尺寸。它可以下载漫画和小说,可能适用于所有使用canvas渲染页面的网站(目前仅在BW上测试过)。
这只是一个开发版本,可能存在漏洞和崩溃问题,但你现在可以下载定制浏览器并尝试使用。
请勿将其用于其他网站,仅作为BW下载器使用,它不如普通Chrome浏览器安全!
克隆此仓库或仅下载BW-downloader-chrome-bin.zip
解压文件BW-downloader-chrome-bin.zip
。
打开powershell
或cmd
,cd
到解压后的浏览器目录。
使用命令行.\chrome.exe --user-data-dir=c:\bw-downloader-profile --no-sandbox
打开浏览器。
调整浏览器窗口大小,使其变小并只能显示一个漫画页面,如下例所示
现在你可以访问BW网站,登录并打开想要下载的漫画,记得在打开前重置漫画的阅读状态。
按F12
,将其设为单独窗口(见下图),然后运行以下脚本(只需进入console
复制粘贴代码,按回车)以自动翻页。如果你的网络良好,可以将3000
改为更小的数值,3000表示3000毫秒即3秒,每3秒翻到下一页。
你也可以手动点击鼠标左键/使用键盘方向键/使用键盘模拟软件来翻页,选择你喜欢的方式,只要确保页面在移动即可。
window.i=0;setInterval(()=>{NFBR.a6G.Initializer.L7v.menu.options.a6l.moveToPage(window.i);console.log(window.i);window.i++;},3000)
如果这不起作用并显示'Uncaught TypeError: Cannot read properties of undefined (reading 'menu') at <anonymous>:1:54',说明BW已更新了js,你可以尝试在控制台中寻找,只需尝试NFBR.a6G.Initializer.*.menu
不为undefined
,其中*是新的对象名;或者你可以提交一个bug。
现在你可以查看C:\bw_export_data
,你会发现一个随机UUID文件夹,里面包含了所有的漫画图片。
如果你想同时下载多部漫画,只需打开你想要的多个漫画,并执行步骤5到6。
这种方法非常易用、稳定,无需寻找任何分辨率或cookies,而且可以下载没有条形码的真正原始图像。
也许将来会为其添加新的浏览器界面,可以点击下载。
现在可能无法下载封面页。
仅在Windows上构建,目前没有其他平台的程序。
如果你发现任何问题,请提交bug,谢谢!
一个使用selenium
的漫画下载框架。
现在支持以下网站:
程序会自动检查给定URL的网站
如果你给定的网站不受支持,程序将抛出错误。
现在支持只登录一次就可以下载多部漫画
你需要准备以下信息:
res
中设置。Cmoa.jp不需要这个。所有设置都在main.py
中。
settings = { # 漫画URL,应该是同一个网站 'manga_url': [ 'URL_1', 'URL_2' ], # 你的cookies 'cookies': '在此处填入你的COOKIES', # 存储漫画的文件夹名,顺序与manga_url相同 'imgdir': [ 'URL_1的IMGDIR', 'URL_2的IMGDIR' ], # 分辨率,(宽度,高度),对于cmoa.jp这不重要。 'res': (1393, 2048), # 每页的睡眠时间(秒),通常不需要更改。 'sleep_time': 2, # 页面加载等待时间(秒),如果你的网络良好,可以减少这个参数。 'loading_wait_time': 20, # 裁剪图片,(左,上,右,下)单位为像素,None表示不裁剪图片。这通常用于裁剪边缘。 # 比如(0, 0, 0, 3)表示从图片底部裁剪3个像素。 'cut_image': None, # 文件名前缀,如果你想要文件名像'klk_v1_001.jpg',在这里写'klk_v1'。 'file_name_prefix': '', # 文件名数字位数,如果你想要文件名像'001.jpg',在这里写3。 'number_of_digits': 3, # 起始页,如果你想从第3页开始下载,将此设置为3,None表示从0开始 'start_page': None, # 结束页,如果你想下载到第10页,将此设置为10,None表示直到结束 'end_page': None, }
这个程序现在适用于Chrome,如果你使用其他浏览器,请查看此页面
安装python包_selenium_和_pillow_,并获取_Google chrome驱动程序_。
pip install selenium pip install Pillow # 这个undetected_chromedriver是为了防止我们被BW检测到 pip install undetected_chromedriver
在main.py中更改IMGDIR
以指定存放漫画的位置。
在程序中添加你的cookies。
记得使用F12查看cookies!
因为某些http only cookies无法通过javascript看到!
记得访问以下链接获取cookies!
对于[Bookwalker.jp]的cookies,请访问这里。
对于[Bookwalker.com.tw]的cookies,请访问这里。
对于[www.cmoa.jp]的cookies,请访问这里,并且必须使用插件EditThisCookie获取cookies,可以在这里下载Chrome版本。
对于EditThisCookie
,可以用于上述任何网站,但对于cmoa
,你必须使用以下方法:
EditThisCookie
的用户偏好设置(chrome-extension://fngmhnnpilhplaeedifhccceomclgfbg/options_pages/user_preferences.html)分号分隔的name=value对
EditThisCookie
图标,然后点击导出
按钮// Example: http://www.tutorialspoint.com/javascript/javascript_cookies.htm
之后)复制到程序中对于传统方式:
- 打开页面。
- 按F12。
- 点击"网络"。
- 刷新页面。
- 找到第一个"profile"请求,点击它。
- 在右侧,会有"请求头",前往那里。
- 找到"cookie:...",复制"cookie:"后面的字符串,粘贴到main.py的YOUR_COOKIES_HERE处。
在main.py中更改manga_url。
对于[Bookwalker.jp]
首先前往購入済み書籍一覧,你可以在这里找到所有你的漫画。
这次的URL是你的漫画**"この本を読む"**按钮的URL。
右键点击这个按钮,然后点击**"复制链接地址"**。
URL应以member.bookwalker.jp开头,而不是viewer.bookwalker.jp。这里我们以漫画【期間限定 無料お試し版】あつまれ!ふしぎ研究部 1为例。
这是あつまれ!ふしぎ研究部 1的URL:https://member.bookwalker.jp/app/03/webstore/cooperation?r=BROWSER_VIEWER/640c0ddd-896c-4881-945f-ad5ce9a070a6/https%3A%2F%2Fbookwalker.jp%2FholdBooks%2F
对于[Bookwalker.com.tw]
请前往线上阅读。
漫画URL类似这样:https://www.bookwalker.com.tw/browserViewer/56994/read
对于[Cmoa.jp]
打开漫画,直接复制浏览器上的URL。
将这个URL复制到main.py中的MANGA_URL
。
编辑完程序后,运行python main.py
来执行。
SLEEP_TIME
默认为2秒,你可以根据自己的网络情况调整,如果下载时出现重复图片,可以将其改为5或更多。如果你觉得太慢,可以尝试改为1甚至0.5。
LOADING_WAIT_TIME = 20
,这是等待漫画浏览器页面加载的时间,如果你的网络不好,可以将其设置为30或50秒。
分辨率,你可以根据需要更改,但请先检查原始图片的分辨率。
RES = (784, 1200)
如果原始图片有更高的分辨率,你可以这样更改(分辨率仅作示例)。
RES = (1568, 2400)
对于[Cmoa.jp]不需要这个,分辨率由[Cmoa.jp]固定。
有时我们需要登出并重新登录,这个网站非常严格,采取了很多方法防止滥用。
现在你可以通过设置CUT_IMAGE
为(左, 上, 右, 下)来裁剪图片。
例如,如果你想从图片底部裁剪3像素,可以这样设置:
CUT_IMAGE = (0, 0, 0, 3)
这个功能使用Pillow
,如果你想使用它,需要通过以下命令安装:
pip install Pillow
默认为None
,表示不裁剪图片。
你现在可以通过更改file_name_prefix
和number_of_digits
来改变文件名前缀和数字位数。
例如,如果你正在下载《斩服少女》漫画第一卷,你想要文件名像这样:
<pre> KLK_V1 │--KLK_V1_001.jpg │--KLK_V1_002.jpg │--KLK_V1_003.jpg </pre>那么你可以这样设置参数:
settings = { ..., 'file_name_prefix': 'KLK_V1', # 文件名数字位数,如果你想要文件名像'001.jpg',这里写3。 'number_of_digits': 3 }
概念
要下载漫画,通常我们会这样做:
因此,我们可以创建一个框架来重复使用代码。对于新网站,通常我们只需要编写一些方法。
WebsiteActions
类介绍对于每个网站,该类应具有以下方法/属性,这里我们以bookwalker.jp为例:
class BookwalkerJP(WebsiteActions): ''' bookwalker.jp ''' # login_url是我们首先加载并放置cookie的页面。 login_url = 'https://member.bookwalker.jp/app/03/login' @staticmethod def check_url(manga_url): ''' 此方法返回一个布尔值,检查给定的漫画URL是否属于此类。 ''' return manga_url.find('bookwalker.jp') != -1 def get_sum_page_count(self, driver): ''' 此方法返回一个整数,获取总页数。 ''' return int(str(driver.find_element_by_id('pageSliderCounter').text).split('/')[1]) def move_to_page(self, driver, page): ''' 此方法不返回任何内容,移动到给定的页码。 ''' driver.execute_script( 'NFBR.a6G.Initializer.B0U.menu.a6l.moveToPage(%d)' % page) def wait_loading(self, driver): ''' 此方法不返回任何内容,等待漫画加载。 ''' WebDriverWait(driver, 30).until_not(lambda x: self.check_is_loading( x.find_elements_by_css_selector(".loading"))) def get_imgdata(self, driver, now_page): ''' 此方法返回可以写入文件或转换为BytesIO的字符串/内容,获取图像数据。 ''' canvas = driver.find_element_by_css_selector(".currentScreen canvas") img_base64 = driver.execute_script( "return arguments[0].toDataURL('image/jpeg').substring(22);", canvas) return base64.b64decode(img_base64) def get_now_page(self, driver): ''' 此方法返回一个整数,当前页面上的页码 ''' return int(str(driver.find_element_by_id('pageSliderCounter').text).split('/')[0])
我们还有一个before_download
方法,这个方法在开始下载之前运行,因为某些网站需要在开始下载之前关闭一些弹出组件。
def before_download(self, driver): ''' 此方法不返回任何内容,在下载之前运行。 ''' driver.execute_script('parent.closeTips()')
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号