ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

小说批量下载完整指南:novel-downloader 帮你轻松备份 100+ 网站的离线书库

小说批量下载完整指南:novel-downloader 帮你轻松备份 100+ 网站的离线书库 小说批量下载完整指南novel-downloader 帮你轻松备份 100 网站的离线书库【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader那天晚上十一点你照例点开追了三年的那本书页面却弹出刺眼的内容不存在。翻遍收藏夹你才确认站点悄悄关了而你从没存下过哪怕一章。novel-downloader 正是为这种时刻准备的通用型小说下载器——打开目录页它就能批量下载整本书导出 TXT 与 EPUB 两种格式覆盖国内外 100 多个小说网站把网站没了书也没了的焦虑扼杀在发生之前。它是一款基于 TypeScript 开发的浏览器扩展油猴脚本开源、免费、可持续扩展。接下来我们不聊那些枯燥的架构图而是先弄懂它凭什么能搬空整个书架再跟着一条完整流程亲手拿到第一本离线电子书。先把原理讲明白它凭什么能搬空整个书架如果只是把网页文字复制下来那它和手动另存为没什么区别。真正麻烦的是那些专门防爬虫的网站有的把文字藏进图片有的用自定义字体加密有的每次刷新图片文件名就变一次。novel-downloader 应对这些手段的核心是一套三层解码方案。你可以把它想象成一位见多识广的图书管理员面对看不懂的书他总有办法第一层文件名映射解码。最简单的替换游戏——网站用图片显示文字图片文件名里恰好带着对应的字。脚本直接读文件名就能还原速度最快。第二层哈希值匹配解码。有些网站把文件名改成乱码但图片内容没变。脚本就把图片下载下来计算哈希值与已知字库逐一比对照样认出每个字。第三层OCR 光学字符识别。遇到复杂到前两层都失效的图片文字脚本会调用 PaddleOCR 中文识别模型硬啃。慢但最准。三层方案按顺序自动尝试绝大多数反爬手段都能被绕过去。而晋江文学城这类用自定义字体加密的网站脚本则会先下载字体文件、建立字符映射再解码——在设置中打开调试模式你能亲眼看到每一次字体匹配的记录。除此之外脚本还会顺手处理图文混排的章节把正文里的插图一并保存避免下载完的 EPUB 里出现此处有图请去网页查看的扫兴提示。十分钟拿到第一本 EPUB完整安装配置流程理论讲完直接上手。整个流程可以浓缩成从空文件夹到离线书库的十分钟旅程。先搭好运行环境。novel-downloader 是油猴脚本需要一个脚本管理器来承载。Tampermonkey 是多数人的首选开源免费的 Violentmonkey、Firefox 专用的 Greasemonkey 也都是可靠的选择。装好任意一个运行环境就绪。紧接着把脚本构建出来。如果你习惯从源码编译克隆仓库后依次执行三条命令即可git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build这段命令会把 TypeScript 源码编译成浏览器可直接运行的脚本文件。构建完成后进入 dist 目录把 bundle.user.js 拖进脚本管理器的安装界面点确认安装即完成。然后选一本你最舍不得的书。打开任意支持的小说网站进入目录页网页右上角会浮现下载图标。点击后脚本开始逐章抓取右下角的进度条实时汇报进展。这里有个小细节下载过程中脚本会播放一段无声音频这是为了防止浏览器判定页面闲置而进入休眠、中断任务属正常现象无需理会。最后收获成果。下载结束浏览器会自动保存两个文件TXT 文档在记事本、任何手机阅读 App 里都能直接打开EPUB 则适合放进 Kindle、微信读书等电子书阅读器排版体验更佳。打开 TXT 文件你会看到整本书按卷、按章排得整整齐齐仿佛从未离开过你的书架。一次看清三种解码方案的差异选快还是选准同样是从图片里还原文字三层方案在速度上差距悬殊。理解它们的差异有助于你判断一次批量下载卡在了哪个环节解码方案处理方式适用场景速度文件名映射解码直接读图片文件名匹配文字简单的图片文字替换⚡ 最快哈希值匹配解码下载图片并计算哈希值比对字库文件名变化但图片内容不变中等OCR 光学字符识别调用 PaddleOCR 中文模型识别复杂图片文字场景最慢但最准确顺带一提脚本对不同网站的适配同样被拆成了清晰的规则模块笔趣阁系列、单页目录、分页目录、特殊平台各有各的模板全部存放在源码的 rules 目录下。开发者想为新网站添加支持只需继承基础规则类、实现两个核心方法再在路由表里登记一条匹配规则——这也是它敢自称通用型的底气所在。按你的口味定制下载章节筛选与输出格式默认行为已经足够好用但不少老用户会再花两分钟微调两处让下载结果更合心意。只想下载其中一部分在设置里提供一个过滤函数即可比如只保留前 50 章function chapterFilter(chapter) { return chapter.chapterNumber 50; }或者反过来只留下名称里含番外的章节。嫌章节标题和正文样式太朴素可以自定义输出格式和正文字体const saveOptions { getchapterName: (chapter) { if (chapter.chapterName) { return 第${chapter.chapterNumber}章 ${chapter.chapterName}; } return 第${chapter.chapterNumber}章; }, mainStyleText: p { text-indent: 2em; line-height: 1.6; } };第二段代码做了两件事把章节标题统一成第 X 章 标题的规范格式同时给正文段落加上首行缩进和舒适行距——让导出的文件读起来更像一本正式出版的书而不是网页文本的搬运。对于图文混排的章节插图也会随正文一并保存最终 EPUB 里仍能还原网页上的阅读体验新手最容易踩的坑五个高频问题Q打开书籍详情页右上角没有下载图标A部分网站如长佩文学、pixiv是单页应用脚本注入时机可能被错过。按一下 F5 刷新页面图标通常就会出现。Q下载到一半进度条不动了A大概率触发了网站限速。在设置里调低并行下载线程数、拉大下载间隔慢一点但更稳。Q为什么下载时一直在播放声音A那是脚本故意播放的无声音频用来防止浏览器把后台页面休眠、中断下载任务。把音量调到静音也不影响功能。Q付费章节下载不下来A请先确认已登录账号并购买了对应章节。这个工具搬运的是你有权阅读的内容它不是破解付费墙的插件。QTXT 和 EPUB 到底该选哪个A追求极致通用性选 TXT任何设备都能打开想在阅读器里获得更好的排版、目录和插图体验选 EPUB。脚本两个文件都会生成你根本不需要做选择。让更多好书永远留在你的书架里小说站会关停版权会调整链接会失效但保存在本地硬盘里的书不会。novel-downloader 的核心理念就是把阅读的主动权还给你你购买的、追更的、珍视的内容都应该有随时可读的备份而不是悬在一家网站的服务器上。这个项目仍在持续生长——更高的 OCR 识别准确率、更多网站的适配、更友好的界面都写在它的路线图里。如果你发现某个网站不受支持或者撞上了 bug最好的参与方式是去项目主页提交 issue参考现有规则模板为新网站贡献一条规则甚至直接提交代码改进。文档、规则、测试任何一个角落都欢迎你的名字。现在就挑一本你最爱的书试试吧。当某天那个网站真的关停时你会庆幸自己早有准备。【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表