全网小说离线阅读神器:novel-downloader完全指南
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
在数字阅读时代,你是否曾因网络中断而无法追更心爱的小说?或是在网站突然关闭时,眼睁睁看着收藏多年的作品消失无踪?novel-downloader正是为解决这些痛点而生的多平台小说下载工具,它能够从超过100个小说网站自动抓取内容,转换为TXT和EPUB格式,让你随时随地享受离线阅读的乐趣。
📖 为什么需要小说下载器?
在这个信息瞬息万变的时代,优质小说作品常常因各种原因从网络上消失。起点、晋江、刺猬猫等平台上的作品可能毫无征兆地被下架,即使你已经订阅付费。轻文轻小说整个网站关闭的案例也并非孤例。novel-downloader致力于成为你的数字图书馆管理员,帮助保存那些质量上乘但不够热门、未被转载网站收录的作品,确保它们不会彻底消失在互联网的海洋中。
重要提示:本工具旨在帮助读者备份已拥有阅读权限的内容,请尊重作者版权,仅下载你已购买或有权阅读的小说。
🚀 快速上手:三分钟开启离线阅读之旅
安装准备:脚本管理器选择
novel-downloader是一个油猴脚本(UserScript),需要先在浏览器安装脚本管理器:
- Tampermonkey:Chrome、Firefox、Edge等浏览器通用,功能最全面
- Violentmonkey:开源免费的优秀替代品,隐私保护更好
- Greasemonkey:Firefox专用版本,兼容性最佳
获取并安装脚本
从项目仓库克隆代码到本地:
git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build构建完成后,在dist目录中找到bundle.user.js文件,这就是可以直接安装的脚本文件。通过脚本管理器安装后,访问支持的小说网站即可开始使用。
开始你的第一本小说下载
安装脚本后,访问任意支持的小说网站目录页,网页右上角会出现下载图标。点击该图标,novel-downloader就会开始自动抓取小说内容:
- 智能分析:脚本自动识别页面结构,提取章节列表
- 批量下载:并行下载所有章节内容(支持付费章节,需已登录购买)
- 格式转换:自动生成TXT和EPUB两种格式文件
- 自动保存:浏览器自动下载生成的文件包
🛡️ 强大的反爬虫处理机制
三级图片文字识别系统
部分网站为了防止文本被抓取,会将文字替换为图片。novel-downloader采用三层解码方案应对:
novel-downloader成功提取并保留网页中的图片资源,还原小说视觉内容
- 文件名映射:最快的方法,根据图片文件名直接匹配文字
- 哈希值匹配:下载图片计算哈希值进行匹配,速度较快
- OCR光学识别:最准确但较慢,使用PaddleOCR中文识别模型
字体加密解密技术
晋江文学城等网站使用自定义字体加密技术,novel-downloader会自动下载字体文件并建立映射关系,确保文字正确显示。当检测到字体不匹配时,脚本会提示用户提交字体链接,社区会及时更新字体匹配表。
智能限速与请求控制
针对不同网站的反爬策略,novel-downloader内置了智能限速机制:
// 自定义下载参数设置 parallelThreads: 3 // 并行下载线程数 downloadInterval: 1000 // 单线程下载间隔(毫秒) maxInterval: 5000 // 最大下载间隔🏗️ 模块化架构与扩展性
清晰的规则系统结构
novel-downloader采用模块化设计,支持轻松扩展新网站。项目结构清晰,便于二次开发:
src/rules/ ├── onePage/ # 单页规则(如起点、晋江) ├── twoPage/ # 双页规则(如轻小说文库) ├── special/ # 特殊网站规则(需要登录或特殊处理) └── lib/ # 公共库函数支持网站类型丰富
国内主流平台:
- 起点中文网、晋江文学城、长佩文学
- 七猫中文网、番茄小说、息壤中文网
- 有毒小说网、独阅读、轻之文库
国外平台:
- カクヨム(日本)、小説家になろう
- pixiv小说、Lofter、Novel Up Plus
转载网站:
- 笔趣阁系列、UU看书网、和图书
- 书趣阁、星空中文、乐文小说网
novel-downloader生成的小说网页界面,保留原站排版与章节导航
⚙️ 高级功能与自定义设置
章节筛选功能
如果你只想下载小说的特定部分,可以使用章节筛选功能:
// 只下载前100章 function chapterFilter(chapter) { return chapter.chapterNumber <= 100; } // 只下载特定章节 function chapterFilter(chapter) { return chapter.chapterName.includes("决战"); }在开始下载前,按下F12打开开发者工具,在控制台中定义chapterFilter函数即可生效。
自定义输出格式
你可以完全控制生成文件的样式和格式:
const saveOptions = { // 修改章节标题格式 getchapterName: (chapter) => { if (chapter.chapterName) { return `第${chapter.chapterNumber}章 ${chapter.chapterName}`; } else { return `第${chapter.chapterNumber}章`; } }, // 自定义CSS样式 mainStyleText: `p { text-indent: 2em; line-height: 1.6; margin: 0.5em 0; }`, // 章节排序 chapterSort: (a, b) => { return b.chapterNumber - a.chapterNumber; // 倒序排列 } };自动注入配置
对于经常使用的设置,可以创建用户脚本自动注入:
// ==UserScript== // @name Noveldownloader Settings // @match *://*/* // ==/UserScript== (function() { const saveOptions = { getchapterName: (chapter) => { return `第${chapter.chapterNumber}章 ${chapter.chapterName || ''}`; } }; window.saveOptions = saveOptions; })();🔧 开发者扩展指南
创建新网站支持
在src/rules/目录下创建新的规则文件非常简单:
import { BaseRuleClass } from "../lib/rule"; export default class CustomSite extends BaseRuleClass { public siteName = "custom-site"; public urlPattern = /https:\/\/www\.custom-site\.com\/novel\/.+/; public async bookParse() { // 实现书籍信息提取逻辑 } public async chapterParse() { // 实现章节内容提取逻辑 } }然后在src/router/download.ts中添加新规则的选择逻辑,并在header.json文件的match字段中添加相应的URL模式即可。
调试与日志系统
novel-downloader提供了完善的调试功能:
- 启用调试模式:在设置中开启调试功能
- 查看实时日志:按下F12打开开发者工具,在控制台查看下载状态
- 生成调试文件:下载完成后会生成包含
debug.log的ZIP文件
novel-downloader的后台下载日志与章节列表界面,支持多小说并行管理
🎯 实用场景与技巧
批量下载管理
对于章节较多的小说,建议使用分批下载策略:
- 使用章节筛选:分卷或分批次下载
- 调整并行线程:根据网站承受能力调整
parallelThreads - 监控内存使用:特别是有大量图片的博客(如Lofter)
付费章节处理
重要提醒:下载付费章节前,请确保:
- 已登录相应网站账户
- 已购买相关章节
- 账户状态正常
未登录或未购买的付费章节会被自动跳过,确保遵守版权规定。
网站兼容性处理
不同网站有不同的反爬策略,novel-downloader针对性地提供了解决方案:
- 长佩文学:反爬较严,限制下载速度(每分钟约6章)
- 晋江文学城:需要API Token以获得更好体验
- ESJ Zone:EPUB下载可能需要屏蔽特定请求
🚨 常见问题与解决方案
Q:下载过程中卡住了怎么办?
A:按下F12打开开发者工具,查看控制台中的错误信息。常见原因包括网络问题、网站反爬机制触发等。可以尝试:
- 降低并行下载线程数
- 增加下载间隔时间
- 检查网络连接
Q:下载的文件乱码或格式错误?
A:尝试以下步骤:
- 在设置中启用调试模式
- 重新下载并生成调试日志
- 提交issue时附上
debug.log文件
Q:如何支持新的小说网站?
A:参考开发者指南创建新规则,或到项目issue页面提交请求。更欢迎贡献代码!
Q:脚本在某个网站上不显示下载按钮?
A:确认该网站是否在支持列表中,或尝试刷新页面重新加载脚本。部分单页应用(如长佩文学、pixiv)需要按下F5重新加载页面。
🌐 社区生态与贡献
novel-downloader是一个活跃的开源项目,拥有活跃的社区支持:
参与方式
- 提交问题:在项目issue页面报告bug或提出功能建议
- 贡献代码:为项目添加新网站支持或改进现有功能
- 分享经验:在社区中分享使用技巧和配置方案
交流渠道
- Matrix空间:
#404-novel-project:bgme.me - Telegram群组:通过社区链接加入讨论
下载后生成的小说章节内容页,完整保留原文格式与排版
📊 性能优化建议
下载策略优化
- 分批下载:对于超长篇小说,建议按卷分批下载
- 智能限速:根据网站响应调整下载频率
- 内存管理:监控浏览器内存使用,避免崩溃
存储优化
- 定期清理:清理不必要的缓存文件
- 格式选择:根据需求选择TXT或EPUB格式
- 备份策略:重要作品建议多格式保存
更新维护
- 定期更新:保持脚本最新版本
- 关注公告:关注项目更新和网站变动
- 社区反馈:积极参与社区讨论
💡 创意用法与场景
个人数字图书馆
使用novel-downloader建立个人小说收藏库:
- 按作者分类整理
- 添加自定义标签
- 创建阅读进度跟踪
研究分析工具
小说研究者可以利用该工具:
- 批量下载特定类型作品
- 进行文本分析
- 研究写作风格变化
内容备份方案
为珍贵作品建立多重备份:
- 本地TXT/EPUB文件
- 云存储同步
- 外部硬盘备份
生成的纯文本格式小说文件,适合离线阅读与进一步编辑
🔮 未来展望
novel-downloader持续进化中,未来可能的方向包括:
技术增强
- AI辅助识别:更智能的图片文字识别
- 多语言支持:扩展支持更多语言小说网站
- 云同步:跨设备阅读进度同步
用户体验提升
- 智能推荐:基于阅读历史的个性化推荐
- 阅读统计:详细的阅读时间与进度统计
- 社交功能:书评与分享功能
生态扩展
- 插件系统:支持第三方插件扩展功能
- API开放:为开发者提供标准化接口
- 移动端优化:更好的移动设备支持
🎉 开始你的小说下载之旅
novel-downloader不仅是一个工具,更是数字阅读时代的守护者。它帮助你在网络不稳定时继续阅读,在网站关闭时保存珍爱作品,在数字洪流中建立自己的文学堡垒。
无论你是技术爱好者想要探索网络抓取的奥秘,还是普通读者只想安心享受离线阅读的乐趣,novel-downloader都能满足你的需求。现在就安装脚本,开始建立属于你自己的数字小说图书馆吧!
最后提醒:请合理使用工具,尊重作者劳动成果,仅下载你有权阅读的内容。支持正版,让创作者能够持续创作更多优秀作品。
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考