如何用novel-downloader实现全网小说离线阅读的终极指南
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
你是否曾遇到过这样的情况:追更的小说突然从网站消失,或者网络不稳定时无法继续阅读?novel-downloader正是为解决这些痛点而生的全能小说下载工具。这款开源工具能帮你从100多个国内外小说网站一键下载完整内容,转换为TXT和EPUB格式,让你随时随地享受离线阅读的乐趣。
📚 你的数字图书馆管家
想象一下,你正在追一部精彩的小说,突然网站维护、小说下架,或者你即将踏上一段没有网络的旅程。传统的手动复制粘贴不仅效率低下,还容易出错。novel-downloader就像一个贴心的数字管家,帮你自动化完成这一切。
novel-downloader的核心优势:
- 🚀 支持100+国内外小说平台
- 🔒 智能应对各种反爬虫机制
- 📱 一键生成TXT和EPUB双格式
- 🎯 支持已购买付费章节下载
- ⚡ 全自动批量处理,解放双手
🛠️ 三步开启小说下载之旅
第一步:准备工作
首先,你需要一个浏览器脚本管理器。推荐选择:
- Tampermonkey:最流行,兼容性最佳
- Violentmonkey:开源免费,功能强大
- Greasemonkey:Firefox用户专属
第二步:获取脚本
有两种方式获取novel-downloader脚本:
简单方式:直接安装编译好的脚本文件。
开发者方式:如果你想自定义或贡献代码,可以克隆项目自行构建:
git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build构建完成后,在dist目录中找到bundle.user.js文件安装即可。
第三步:开始下载
访问任意支持的小说网站,打开小说目录页面。当你看到页面右上角出现下载图标时,点击它,剩下的就交给novel-downloader吧!
novel-downloader正在分析网页结构并批量下载章节内容
🌐 全方位网站支持,覆盖主流平台
novel-downloader采用模块化架构,所有网站解析规则都存放在src/rules/目录中,按类型分类管理。目前支持的小说网站包括:
国内主流平台
| 平台类型 | 代表网站 | 付费章节支持 |
|---|---|---|
| 原创平台 | 起点中文网、晋江文学城、长佩文学、七猫中文网 | ✅ |
| 轻小说 | SF轻小说、轻之文库、刺猬猫 | ✅/部分 |
| 女性向 | 海棠文化、晋江文学城、长佩文学 | ✅ |
国外平台
- 日本:カクヨム、小説家になろう、pixiv小说
- 台湾:Penana、POPO原创
- 其他:ESJzone、Lofter
转载网站
- 笔趣阁系列
- UU看书网
- 和图书等
清晰的小说目录界面,便于选择下载内容
🛡️ 智能反爬虫:三重防护机制
1. 文件名映射(最快)
当网站将文字替换为图片时,novel-downloader首先尝试根据图片文件名直接匹配对应的文字。这是最快捷的解码方式。
2. 哈希值匹配(较快)
如果文件名匹配失败,工具会下载图片并计算哈希值进行匹配。这种方法速度较快,准确率也很高。
小贴士:文件名和哈希映射表会自动从官方仓库获取并保存在本地,无需手动配置。
3. OCR识别(最准确)
前两种方法都失败时,novel-downloader会使用PaddleOCR中文识别模型进行光学字符识别。虽然速度稍慢,但准确率最高。
novel-downloader能够正确处理包含图片的小说章节
字体加密处理
对于晋江文学城等使用自定义字体显示文字的网站,工具会自动下载字体文件并建立映射关系,确保文字正确显示。
🎯 实用场景:从新手到高手的进阶之路
场景一:通勤路上的离线阅读
痛点:地铁、公交上网络信号差,无法流畅阅读在线小说。
解决方案:
- 在家或有WiFi时批量下载喜欢的小说
- 保存为TXT格式,使用手机自带阅读器
- 保存为EPUB格式,导入Kindle或电子书阅读器
场景二:收藏珍贵小说资源
痛点:某些优质小说因版权问题或网站关闭而消失。
解决方案:
- 使用novel-downloader及时保存珍贵资源
- 建立个人数字图书馆
- 按作者、类型分类管理下载的小说
场景三:学术研究与文本分析
痛点:需要批量获取小说文本进行语言学或文学研究。
解决方案:
- 批量下载相关作品
- 使用统一的TXT格式便于文本处理
- 利用筛选功能获取特定章节
🔧 高级技巧:让你的下载更智能
自定义章节筛选
如果你只想下载小说的特定部分,可以使用章节筛选功能。在开发者工具控制台中定义筛选函数:
// 示例:只下载前50章 function chapterFilter(chapter) { return chapter.chapterNumber <= 50; } // 示例:按关键词筛选 function chapterFilter(chapter) { return chapter.chapterName.includes("决战"); } // 示例:只下载特定卷 function chapterFilter(chapter) { return chapter.sectionNumber === 1; // 只下载第一卷 }输出格式定制
完全控制生成文件的样式和格式:
const saveOptions = { // 自定义章节标题格式 getchapterName: (chapter) => { return `第${chapter.chapterNumber}章 ${chapter.chapterName || ""}`; }, // 自定义段落样式 mainStyleText: ` p { text-indent: 2em; line-height: 1.8; margin: 1em 0; } `, // TXT文档每个自然段前加两个空格 genChapterText: (chapterName, contentText) => { contentText = contentText .split("\n") .map((line) => { if (line.trim() === "") { return line; } else { return line.replace(/^/, " "); } }) .join("\n"); return `## ${chapterName}\n\n${contentText}\n\n`; } };下载后的小说以整洁的TXT格式保存,便于阅读和分析
性能优化设置
对于反爬虫严格的网站,可以调整下载参数:
// 在设置中调整 const downloadSettings = { 并行下载线程数: 3, // 同时下载的章节数 下载间隔: 1000, // 每章下载间隔(毫秒) 最大下载间隔: 5000 // 最大间隔时间 };❓ 常见问题与解决方案
Q:下载按钮不显示怎么办?
A:首先确认访问的网站是否在支持列表中。如果确认支持但仍不显示:
- 刷新页面重新加载
- 检查脚本管理器是否正常运行
- 确保没有广告屏蔽器干扰
Q:下载速度很慢怎么办?
A:部分网站反爬虫机制较严格,限制了下载速度。建议:
- 降低并行下载线程数(设置为1-2)
- 增加下载间隔时间(1000-2000毫秒)
- 避免同时下载多本小说
Q:下载的文件出现乱码?
A:这通常是由于字体加密或编码问题导致的。尝试:
- 启用调试模式查看详细错误信息
- 检查是否需要配置字体映射
- 对于晋江文学城等网站,可能需要配置Token
Q:如何下载付费章节?
A:请确保已登录相应网站账户并已购买相关章节。未登录或未购买的付费章节会被自动跳过。
注意:请尊重作者版权,仅下载你已购买或有权阅读的内容。本工具旨在帮助读者更好地管理和阅读已拥有的数字内容。
🚀 开发者扩展指南
添加新网站支持
novel-downloader采用模块化设计,添加新网站支持非常简单:
创建规则文件在
src/rules/相应目录下创建新的TypeScript文件继承基础类
import { BaseRuleClass } from "../lib/rule"; export default class NewSite extends BaseRuleClass { public siteName = "new-site"; public urlPattern = /https:\/\/www\.newsite\.com\/novel\/.+/; public async bookParse() { // 实现书籍信息提取逻辑 } public async chapterParse() { // 实现章节内容提取逻辑 } }注册规则在
src/rules.ts中添加新规则,并在src/header.json中配置匹配模式。
项目架构概览
src/ ├── rules/ # 网站解析规则 │ ├── onePage/ # 单页模式网站 │ ├── twoPage/ # 两页模式网站 │ ├── special/ # 特殊处理网站 │ └── lib/ # 共享工具库 ├── main/ # 核心业务逻辑 ├── lib/ # 通用工具函数 ├── save/ # 文件保存模块 └── ui/ # 用户界面组件📈 最佳实践总结
新手用户建议
- 从简单开始:先尝试笔趣阁系列等简单网站
- 测试功能:下载短篇小说熟悉操作流程
- 逐步深入:掌握基本操作后再尝试高级功能
进阶用户技巧
- 批量管理:利用筛选功能精准下载所需内容
- 格式定制:配置个性化输出格式
- 性能优化:根据网站特性调整下载参数
开发者参与
- 阅读文档:了解项目架构和设计理念
- 从小处着手:从简单的规则文件开始贡献
- 社区协作:参与issue讨论和问题解决
💡 立即开始你的小说保存计划
novel-downloader不仅是一个工具,更是数字文化遗产的守护者。在这个信息快速更迭的时代,它帮助我们将珍贵的文字内容保存下来,让每一部优秀作品都能被后人阅读和欣赏。
行动指南:
- 安装脚本管理器(Tampermonkey等)
- 获取novel-downloader脚本
- 访问支持的小说网站
- 点击下载按钮开始保存
温馨提示:请合理使用工具,尊重作者劳动成果,支持正版阅读。对于付费内容,请确保已购买相应章节后再进行下载。
现在就开始你的小说保存之旅吧!无论是为了离线阅读、资源收藏还是学术研究,novel-downloader都能为你提供强大的支持。如果你在使用过程中有任何问题或建议,欢迎参与开源社区讨论,共同完善这个优秀的项目。
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考