完整指南:novel-downloader 高效小说下载工具的专业使用与深度定制
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
novel-downloader 是一款功能强大的浏览器扩展脚本,专门用于从多个小说网站高效下载小说内容并转换为可本地阅读的格式。作为一款可扩展的通用型小说下载器,它解决了网络小说爱好者面临的离线阅读需求,支持包括起点中文网、晋江文学城、番茄小说等在内的 150+ 个主流小说平台,为技术爱好者和进阶用户提供了完整的解决方案。
核心特性:为什么选择 novel-downloader?
多平台全面支持
novel-downloader 最大的优势在于其广泛的兼容性。脚本支持超过 150 个国内外小说网站,从大型商业平台如起点、晋江,到小众文学站点如海棠文化、废文网,再到日系平台如カクヨム、小説家になろう,几乎涵盖了主流小说阅读场景。每个站点都有专门的解析规则,确保内容提取的准确性。
智能内容解析系统
面对小说网站的各种反爬机制,novel-downloader 采用了多层解析策略:
- 自动章节识别:智能识别网站章节结构,自动提取章节列表和内容
- 付费章节支持:支持已登录账号的付费章节下载(需用户已购买)
- 图片文字解码:针对使用图片替代文字的反爬网站,提供文件名映射、哈希映射和 OCR 识别三层解码方案
多样化输出格式
下载完成后,工具自动生成多种格式文件:
- EPUB 格式:标准的电子书格式,兼容主流阅读器
- TXT 格式:纯文本格式,轻量且兼容性最好
- HTML 格式:保留原始排版样式,便于网页浏览
快速上手:三步完成小说下载
第一步:环境准备与安装
novel-downloader 作为油猴脚本,需要先在浏览器中安装脚本管理器:
- 安装 Tampermonkey、Violentmonkey 或 Greasemonkey 等脚本管理器扩展
- 访问项目地址获取脚本:
https://gitcode.com/gh_mirrors/no/novel-downloader/raw/gh-pages/bundle.user.js - 脚本管理器会自动检测并提示安装
第二步:访问小说页面
打开任意支持的小说网站目录页,脚本会自动检测并显示下载图标。例如访问起点中文网的小说目录页面:
如上图所示,当打开小说目录页时,右上角会出现下载图标,控制台会显示详细的章节解析和下载状态信息。
第三步:启动下载与查看结果
点击下载图标后,novel-downloader 开始自动抓取章节内容。下载过程中可以通过右下角进度条或浏览器控制台实时查看进度:
# 控制台输出示例 [INFO] 开始下载章节:第1章 [INFO] 下载完成:第1章 [INFO] 开始下载章节:第2章 ... [INFO] 所有章节下载完成,正在生成文件...下载完成后,浏览器会自动下载包含 TXT 和 EPUB 格式的压缩包,解压后即可获得完整的小说文件。
个性化配置:打造专属下载体验
自定义下载参数
在脚本设置中,高级用户可以调整下载参数以优化体验:
// 自定义下载设置示例 { "parallelThreads": 3, // 并行下载线程数 "downloadInterval": 1000, // 下载间隔(毫秒) "maxInterval": 5000 // 最大下载间隔(毫秒) }这些设置可以帮助绕过某些网站的反爬限制,平衡下载速度和稳定性。
章节筛选功能
如需只下载特定章节,可以在浏览器控制台中定义筛选函数:
// 只下载前100章 function chapterFilter(chapter) { return chapter.chapterNumber <= 100; } window.chapterFilter = chapterFilter; // 只下载特定卷 function chapterFilter(chapter) { return chapter.sectionNumber === 1; // 仅下载第一卷 } window.chapterFilter = chapterFilter;输出格式自定义
novel-downloader 支持深度定制输出格式:
// 自定义章节命名和样式 const saveOptions = { getchapterName: (chapter) => { if (chapter.chapterName) { return `第${chapter.chapterNumber}章 ${chapter.chapterName}`; } return `第${chapter.chapterNumber}章`; }, mainStyleText: ` p { text-indent: 2em; line-height: 1.6; margin: 0.5em 0; } .chapter-title { font-size: 1.2em; font-weight: bold; color: #333; margin: 1em 0; } ` }; window.saveOptions = saveOptions;高级功能:解决复杂下载场景
付费章节与登录支持
对于需要登录才能访问的付费内容,novel-downloader 提供了完整的解决方案:
- 自动登录检测:脚本会自动检测当前登录状态
- Token 配置:对于晋江文学城等需要特殊认证的站点,可以通过注入 Token 实现完整功能
- VIP 章节处理:支持图片版 VIP 章节的下载和解码
OCR 图像文字识别
部分网站使用图片替代文字以防止爬取,novel-downloader 内置了完整的 OCR 处理流程:
- 文件名映射:首先尝试根据图片文件名直接匹配文字
- 哈希映射:下载图片并计算哈希值进行匹配
- OCR 识别:使用 PaddleOCR 模型识别图片中的文字
首次使用 OCR 功能时,脚本会自动下载必要的模型文件,确保识别准确率。
字体匹配与解码
针对晋江文学城、番茄小说等使用自定义字体加密的网站,novel-downloader 提供了字体匹配机制:
// 字体匹配示例 // 在控制台查看日志,找到类似以下信息: // [jjwxc-font] 需要匹配字体:https://static.jjwxc.net/fonts/xxxx.woff // [fanqie-font] 字体映射表需要更新用户可以根据提示信息提交字体映射更新,确保文字显示正确。
最佳实践:高效使用技巧
批量下载管理
对于多本小说的下载需求,建议:
- 分批次下载:避免同时打开过多下载页面
- 使用书签工具:将常用小说页面加入书签,便于重复下载
- 设置合理间隔:对于反爬严格的网站,适当增加下载间隔
错误处理与调试
遇到下载问题时,可以启用调试模式获取详细日志:
- 在脚本设置中开启调试模式
- 重新尝试下载操作
- 查看控制台输出的详细错误信息
- 将日志文件提交到项目 issue 页面寻求帮助
性能优化建议
- 内存管理:对于图片较多的页面(如 Lofter),建议分批次下载
- 网络优化:使用稳定的网络连接,避免下载中断
- 浏览器选择:推荐使用 Chrome 或 Edge 浏览器,兼容性最佳
扩展开发:自定义站点支持
创建新的站点规则
novel-downloader 采用模块化设计,开发者可以轻松添加对新站点的支持:
// src/rules/custom-site.ts 示例 export default class CustomSiteRule extends BaseRuleClass { // 站点名称 siteName = 'custom-site'; // URL 匹配规则 urlPattern = /https:\/\/www\.custom-site\.com\/novel\/.+/; // 书籍解析方法 async bookParse(): Promise<Book> { // 实现书籍信息提取逻辑 } // 章节解析方法 async chapterParse(): Promise<Chapter> { // 实现章节内容提取逻辑 } }规则注册与配置
添加新规则后,需要在以下文件中进行注册:
- router/download.ts:添加规则选择逻辑
- header.json:在 match 字段添加 URL 匹配规则
- rules.ts:导入并注册新的规则类
构建与测试
完成开发后,使用项目提供的构建工具生成最终脚本:
# 安装依赖 yarn install # 编译脚本 yarn run build # 测试构建结果 yarn test:build构建完成后,在dist/bundle.user.js文件中可以找到生成的脚本。
常见问题解决方案
下载速度慢或失败
- 检查网络连接:确保网络稳定
- 调整下载参数:减少并行线程数,增加下载间隔
- 查看网站状态:确认目标网站可正常访问
- 检查账号状态:对于付费章节,确认已登录且已购买
内容显示异常
- 启用调试模式:查看详细错误信息
- 检查字体匹配:对于晋江、番茄等站点,可能需要更新字体映射
- 验证 OCR 功能:对于图片文字,确保 OCR 模型已正确加载
脚本不显示下载图标
- 刷新页面:部分单页应用需要刷新才能正确加载脚本
- 检查 URL 匹配:确认当前页面在支持列表中
- 查看脚本状态:在油猴管理面板确认脚本已启用
安全与隐私保护
novel-downloader 在设计时充分考虑了用户隐私:
- 本地处理:所有下载操作在浏览器本地完成,内容不经过第三方服务器
- 透明日志:调试日志仅在用户明确启用时生成,包含的信息仅用于问题诊断
- 可控的数据共享:互联网档案馆存档功能需要用户明确同意才会执行
对于需要 Token 认证的网站,建议用户:
- 定期更新 Token 以保证安全
- 不在公共场合分享包含 Token 的日志
- 使用完毕后及时清理浏览器数据
结语:打造个人数字图书馆
novel-downloader 不仅是一个小说下载工具,更是数字内容保存的重要工具。在网络内容随时可能消失的今天,它为用户提供了保存喜爱作品的技术手段。无论是用于个人阅读、学术研究,还是文化保存,这个工具都展现出了强大的实用价值。
通过灵活的配置选项和可扩展的架构,novel-downloader 能够适应各种复杂的下载场景,从简单的单章下载到复杂的整站备份,都能提供稳定可靠的解决方案。随着更多开发者的加入和规则的不断完善,这个工具将继续为小说爱好者提供更好的服务。
如上图所示,novel-downloader 生成的小说文件保留了原始的结构和排版,提供了优秀的阅读体验。无论是用于电子书阅读器、手机应用还是电脑软件,都能获得一致的阅读效果。
对于希望深度定制或扩展功能的开发者,项目的开源架构和清晰的代码结构提供了良好的基础。通过阅读源码和参与社区讨论,可以快速掌握工具的核心机制,实现个性化的功能需求。
无论你是普通读者还是技术爱好者,novel-downloader 都能为你的小说阅读体验带来实质性的提升。开始使用这个工具,构建属于你自己的数字图书馆吧!
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考