
一键搞定小说批量下载TXT 与 EPUB 完整指南【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader你正在某个站点追更书籍目录页右上角多出一个不认识的图标。点下去等了几分钟下载框里多了两个文件TXT 和 EPUB整本书落进了硬盘。这个图标就是 novel-downloader小说下载器脚本挂在页面上的它在替你批量保存这本网文。它到底能干什么novel-downloader 是一段跑在浏览器里的脚本UserScript跟着你的浏览器一起活动登录态是什么身份下载时就是什么身份不用单独搬 Cookie也不用再配一套账号。它的能力清单不长但每条都实用批量抓取正文与插图章节按顺序逐篇取回图也一并收走不只是文字双格式输出一份 TXT 随手读一份 EPUB 丢进电子书阅读器100 站点在列国内原创平台、免费转载站、日本平台都能找到付费章节跟随登录态已购买的会进下载队列没买的安静跳过图文混排保留原站图文混排的样子成品里基本原样保留解析完一个书籍页面后效果长这样上图是小说下载器解析书籍页面的成果封面、简介、分卷章节列表外加一个开始下载按钮全部摆在一页上。从打开浏览器到拿到第一本书先装脚本运行环境UserScript 自身没有运行环境需要浏览器里的脚本管理器来承载。主流选择有三个Tampermonkey 功能最全新手选它最稳Violentmonkey 开源轻量Greasemonkey 是 Firefox 的老面孔。三选一装好浏览器工具栏多出一个图标这一步就算完事。把脚本装进浏览器想自己构建的话克隆仓库编译出成品脚本git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build构建完会得到dist/bundle.user.js把这个文件拖进脚本管理器界面确认安装权限弹窗直接允许。不想自己构建也没关系找一份现成的.user.js成品脚本拖进去即可效果一样。打开目录页点一下图标打开任意受支持站点的书籍目录页右上角会出现下载图标。点下去就开始下载右下角挂着进度条按 F12 能看到控制台逐行刷日志一章一条记录。全部结束后浏览器自动存下两个文件TXT 和 EPUB。 下载期间标签页会播放一段无声音频作用是阻止浏览器把后台标签页休眠属于正常现象。你追的站大概率已经在名单里几个代表站点如下类型代表站点国内原创平台起点、晋江、七猫创作社区Lofter、pixiv、次元姬日本平台小説家になろう、カクヨム、ハーメルン免费转载站笔趣阁系列、UU 看书、轻小说文库完整名单见 README.md。一次点击背后它干了这几件事你只点了一下背后它转了好几圈。先是翻看目录页这本书有哪些章节、各自属于哪一卷、书名作者是谁统统整理成结构化清单。然后逐章请求正文这里有个值得注意的细节——碰到你没购买、或者没登录的付费章节它直接跳过不报错也不卡住安静地略过最终拿到的就是你有权限看的全部内容。接着是清洗环节。原页面上广告、导航栏、推荐位一大堆这些都被剔掉只留下正文段落和图片具体逻辑在 src/lib/cleanDOM.ts。清洗完进入收尾按模板流式生成 TXT 和 EPUB插图一并嵌进 EPUB 里下载框里两个文件落定任务结束。上图是一次小说批量下载的进行时画面控制台逐条打印每个章节的请求记录右下角能看到脚本已经产出的文件全程不需要人守着。它之所以能适配上百个站点是因为每个站点都有自己的规则文件全部放在 src/rules/ 下。想加一个新站点继承BaseRuleClass实现取章节链接、取正文两个方法再到src/router/download.ts里登记域名就生效了。两个硬骨头文字藏进图片 字体加密有些站点对下载器格外警惕把正文直接换成图片抓下来只有一堆图。小说下载器应对这套有三层手段按先快后准的顺序使先拿图片文件名查表文件名就是字符提示的话一步到位文件名不给力就下载图片算哈希跟映射表里的同款对上就命中实在对不上落到兜底层调用 PaddleOCR 中文模型逐字识别最慢但也最稳。映射表会自动拉取并缓存不用你管OCR 模型则首次用到时才下载。说句实话三层都没命中的文字会被直接忽略碰到这类站点建议拿 HTML 版成品核对一遍。上图是小说下载器保存下来的图文混排章节正文段落和插图都进了成品阅读体验和原站基本一致。另一类常见手段是字体加密正文用自定义字体渲染直接抓下来全是乱码。这活儿脚本也自动干——把字体下回来建立字符映射还原出正常文字。晋江、番茄两个站点可能需要你手动配合一次匹配照着控制台里的[jjwxc-font]或[fanqie-font]提示走一遍就行。按你的规则来点下载之前粘一段代码进阶用法的入口是统一的F12 打开控制台把代码粘进去再点下载按钮。下面三个场景最常用。只下前 50 章或只下某一卷。书太长、只想先看前面几章的时候function chapterFilter(chapter) { return chapter.chapterNumber 50; }人话就是满足条件的章节才进下载队列其余全部跳过。想只下某一卷把条件改成chapter.sectionNumber 1。换掉章节标题格式。嫌原站标题格式乱想让全书统一成第 N 章 XXXconst saveOptions { getchapterName: (c) 第${c.chapterNumber}章 ${c.chapterName ?? }, }; window.saveOptions saveOptions;每一章的标题都会按你写的函数重新生成。首行缩进、行距这类排版细节还能通过mainStyleText注入一段 CSS 调整。下完自动关标签页。批量挂机时特别顺手function customFinishCallback() { window.close(); }文件生成完毕后这个函数自动执行挂机下载完一个就关一个省掉手动关页。⚠️ 以上自定义变量都必须在点击下载按钮之前注入粘晚了脚本读取不到配置不生效。下载卡住了按现象对号入座下载不顺别慌先对照下面几条右上角没有下载图标→ 单页应用页面没初始化完 → 按 F5 强制刷新当前页付费章节全被跳过→ 未登录或该章未购买 → 登录站点账号确认已购买下载速度太慢→ 网站反爬限速 → 设置里开自定义下载设置降线程数、拉大间隔文档出现乱码字符→ 字体加密匹配未完成 → 按控制台[jjwxc-font]/[fanqie-font]提示完成匹配图片文字变空白→ 三层解码都未命中 → 改用 HTML 版成品查看长时间无进展→ 网络波动或标签页休眠 → 标签页保持前台等自动重试上图是小说批量下载完成后的 TXT 成品分卷、章节层层分明任何文本编辑器或阅读器双击就能打开。实在定位不了的话在设置里开启调试模式下载包会附带debug.log完整日志提交给开发者能大幅提高定位效率压根没产出文件时也可以在设置里启用测试视图复制日志选项卡的内容另行保存。网站说撤就撤一本书没有任何征兆就能下线。硬盘是自己手里的趁作品还在线点一下把整本书带走。【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考