终极小说下载神器:永久保存200+小说网站的完整指南
终极小说下载神器:永久保存200+小说网站的完整指南
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
在数字阅读时代,最令人不安的体验莫过于某天打开收藏夹,发现心爱的小说页面变成了"404 Not Found"。无论是版权下架、平台关闭还是作者删文,那些曾经陪伴我们度过无数夜晚的故事就这样无声无息地消失了。novel-downloader 正是为解决这一痛点而生的开源工具,作为一款可扩展的通用型小说下载器,它能够从200多个小说网站自动抓取内容,将在线小说转换为本地文件,让你永远不用担心"404"的困扰。
📚 为什么你需要小说下载器?
数字阅读的三大痛点
- 内容消失风险:小说网站突然关闭或内容被删除
- 阅读体验受限:需要网络连接,无法离线阅读
- 平台限制:付费章节需要重复购买,跨平台阅读不便
解决方案:本地永久保存
novel-downloader 就像为你的数字阅读生活买了一份保险,让你能够:
- 批量下载整本小说:从目录页一键抓取所有章节
- 智能识别网站结构:自动适配不同网站的特殊布局
- 生成多种格式:同时输出TXT和EPUB两种格式文件
- 保留原始排版:尽量保持原文的段落和格式
novel-downloader 在浏览器中运行,实时显示下载进度和章节状态
🚀 三分钟快速安装指南
第一步:安装脚本管理器
novel-downloader 是一个油猴脚本,需要先安装浏览器脚本管理器:
- Tampermonkey(推荐):最稳定、功能最全
- Violentmonkey:开源免费,轻量级
- Greasemonkey:老牌经典
第二步:获取脚本文件
git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build构建完成后,在dist/目录下找到bundle.user.js文件,将其拖拽到已安装脚本管理器的浏览器中即可完成安装。
第三步:开始使用
安装完成后,访问任意支持的小说网站(如起点中文网、晋江文学城等),你会发现网页右上角出现了一个下载图标。点击这个图标,工具就会自动开始工作。
🔧 核心技术:三层解码方案
许多小说网站为了保护内容,采用了各种反爬虫技术。novel-downloader 通过三层解码方案来应对这些挑战:
第一层:文件名快速匹配
当网站将文字替换为图片时,工具首先尝试通过图片文件名直接匹配对应的文字。这种方法速度最快,适用于大部分常规情况。
第二层:哈希值精准识别
如果文件名匹配失败,工具会下载图片并计算其哈希值,通过预先建立的哈希-文字映射表来识别内容。这种方法准确率较高,速度也相当可观。
第三层:OCR光学字符识别
当前两种方法都无法识别时,工具会调用PaddleOCR中文识别模型进行光学字符识别。这是最准确的方法,但处理速度相对较慢。
工具能够正确处理图文混合的小说章节,保留插图和特效图片
📋 支持网站大全
novel-downloader 目前支持200多个小说网站,涵盖了多种类型:
| 网站类型 | 代表平台 | 支持状态 | 特殊说明 |
|---|---|---|---|
| 主流中文平台 | 起点中文网、晋江文学城、番茄小说 | ✅ 完全支持 | 支持VIP章节,需登录账户 |
| 轻小说平台 | SF轻小说、轻之文库、轻小说文库 | ✅ 完全支持 | 部分平台仅支持公共章节 |
| 日本小说平台 | カクヨム、小説家になろう | ✅ 完全支持 | 日文编码自动处理 |
| 图片加密网站 | 西瓜书屋、海棠文化 | ✅ 完全支持 | 使用三层解码方案 |
| 特殊格式网站 | Lofter、Pixiv | ✅ 条件支持 | 可能跳过视频内容 |
热门网站支持详情
- 起点中文网:支持公共章节和VIP章节
- 晋江文学城:支持VIP章节,需配置Token
- SF轻小说:支持对话小说外的所有类型
- 海棠文化:完全支持,包括付费内容
- Pixiv小说:支持图片小说下载
下载的小说章节保持原始排版,适合在各种阅读器上阅读
⚙️ 高级配置与自定义功能
自定义下载设置
在设置面板中,可以调整以下参数:
- 并行下载线程数:同时下载的章节数量(>0的整数)
- 下载间隔:每章节下载后的等待时间(毫秒)
- 最大下载间隔:章节间最大等待时间(毫秒)
章节筛选功能
通过自定义筛选函数,可以精确控制下载内容:
// 只下载前50章 function chapterFilter(chapter) { return chapter.chapterNumber <= 50; } // 只下载标题包含特定关键词的章节 function chapterFilter(chapter) { return chapter.chapterName && chapter.chapterName.includes("战斗"); } // 只下载第一卷的内容 function chapterFilter(chapter) { return chapter.sectionNumber === 1; }输出格式定制
novel-downloader 支持深度定制输出格式:
const saveOptions = { // 自定义章节命名 getchapterName: (chapter) => { return `第${chapter.chapterNumber}章 ${chapter.chapterName || ''}`; }, // 自定义段落样式 mainStyleText: `p { text-indent: 2em; line-height: 1.6; margin: 0.5em 0; font-family: "思源宋体", serif; }`, // 批量处理空行 genChapterEpub: (contentXHTML) => { return contentXHTML.replaceAll("<p><br /></p>", "") .replaceAll("<p><br/></p>", ""); } };🔐 特殊网站登录配置
晋江文学城Token配置
晋江文学城需要特定的token才能下载VIP章节:
- 自动获取:在任意晋江小说页面打开设置,点击"获取token"按钮
- 手动抓取:使用抓包工具获取Android API中的token参数
- 脚本注入:通过用户脚本自动注入token
// 自动注入Token的用户脚本 const tokenOptions = { Jjwxc: "11111111_750afc84c839aaaaafccd841fffd11f1" }; window.tokenOptions = tokenOptions;其他付费网站注意事项
- 登录验证:确保已登录相应网站的账户
- 购买状态:确认已购买或订阅相关章节
- 遵守条款:仅下载个人拥有阅读权限的内容
novel-downloader 支持的典型小说阅读界面
🛠️ 开发者扩展指南
novel-downloader 采用模块化设计,每个网站的规则都是独立的。如果你想为新的小说网站添加支持:
创建新规则文件
在 src/rules/ 目录下创建新的规则文件:
import { BaseRuleClass } from "../../rules"; export default class YourSiteRule extends BaseRuleClass { siteName = 'your-site-name'; urlPattern = /https:\/\/www\.your-site\.com\/novel\/.+/; async bookParse() { // 解析书籍信息 return { bookUrl: window.location.href, bookname: document.title, author: document.querySelector('.author')?.textContent, }; } async chapterParse(chapterUrl, chapterName, isVIP, isPaid) { // 解析章节内容 return { chapterName, contentRaw: document.querySelector('.content'), contentText: document.querySelector('.content')?.textContent, }; } }注册新规则
- 在 src/router/download.ts 中添加相应的选择规则
- 在 header.json 的
match字段添加URL匹配规则
🚨 常见问题与解决方案
下载速度过慢怎么办?
- 检查网络连接是否稳定
- 适当调整并行下载线程数(默认为3)
- 对于反爬较严的网站,可以增加下载间隔时间
下载过程中卡住了?
- 按下F12打开开发者工具
- 切换到控制台(console)标签页
- 查看是否有错误信息输出
- 在设置中启用调试模式,获取更详细的日志
某些章节内容异常?
- 可能是网站使用了特殊的字体加密
- 尝试在设置中启用测试视图
- 查看日志中是否有字体匹配相关的提示信息
工具在某个网站不工作?
- 确认该网站是否在支持列表中
- 检查是否有网站更新导致规则失效
- 在项目支持页面提交issue,附上详细的问题描述和日志
下载的小说保持完整的章节结构和文本格式
💡 最佳实践建议
定期备份重要作品
即使你现在不打算阅读某部小说,如果它对你很重要,建议提前下载备份。网络内容随时可能消失。
合理设置下载参数
对于反爬较严的网站,适当降低并行下载线程数,增加下载间隔时间,避免触发网站的防护机制。
注意版权和道德
- 仅下载你拥有阅读权限的内容
- 尊重作者的劳动成果
- 下载的内容仅供个人阅读使用
- 不要将下载的内容用于商业用途或大规模分发
保持工具更新
定期更新novel-downloader,以获取最新的网站支持规则和功能改进。
🎯 实用技巧与场景
批量下载多本小说
// 批量打开多个小说页面并触发下载 const novelUrls = [ 'https://www.example.com/novel/123', 'https://www.example.com/novel/456', // 更多URL... ]; novelUrls.forEach((url, index) => { setTimeout(() => { window.open(url); // 等待页面加载后自动点击下载按钮 setTimeout(() => { const downloadBtn = document.querySelector('.novel-downloader-btn'); if (downloadBtn) downloadBtn.click(); }, 5000); }, index * 10000); // 每10秒处理一本 });自动化备份脚本
你可以编写定时任务脚本,定期检查收藏的小说是否有更新,并自动下载新章节。
跨平台阅读解决方案
将下载的EPUB文件导入到Kindle、Kobo等电子书阅读器,或者使用Calibre进行格式转换和管理。
🌟 项目架构与源码结构
novel-downloader 采用模块化设计,核心源码结构如下:
src/ ├── lib/ # 核心工具库 ├── main/ # 主要业务逻辑 ├── router/ # 路由和下载逻辑 ├── rules/ # 网站规则定义 │ ├── onePage/ # 单页式网站规则 │ ├── twoPage/ # 两页式网站规则 │ ├── special/ # 特殊网站规则 │ └── lib/ # 规则工具库 ├── save/ # 保存和导出模块 └── ui/ # 用户界面组件这种设计使得添加新网站支持变得非常简单,只需要在 src/rules/ 目录下创建相应的规则文件即可。
📊 性能优化建议
内存管理
- 对于图片特别多的博客(如Lofter),注意内存用量(800MB限制)
- 根据实际情况使用筛选函数分次下载
- 部分博文内含视频内容,为节省内存会跳过视频
网络优化
- 网站性能差时,降低抓取频率,请耐心等待
- 合理设置并行下载线程数,避免被封IP
- 对于反爬较严的网站,使用适当的下载间隔
🎉 开始你的数字藏书之旅
现在,你已经了解了novel-downloader的所有核心功能。无论是为了备份心爱的小说,还是为了在没有网络的环境下阅读,这款工具都能成为你数字阅读生活的好帮手。
记住,在信息时代,真正拥有内容的方式就是将它保存在本地。novel-downloader 为你提供了这个可能——让那些精彩的故事不再因为网络波动或平台关闭而消失,让你的数字图书馆真正属于你自己。
开始使用novel-downloader,建立属于你自己的永久数字藏书库吧!
novel-downloader 能够正确处理小说的分卷结构,保持原始的组织方式
【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
