全网小说下载终极指南:novel-downloader 轻松保存你的阅读时光
全网小说下载终极指南:novel-downloader 轻松保存你的阅读时光
【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
在数字阅读时代,你是否经常遇到心爱的小说突然消失、付费章节无法离线阅读,或者网络不稳定影响阅读体验的困扰?novel-downloader 作为一款功能强大的开源小说下载器,正是为解决这些痛点而生。这款工具能够从超过100个小说网站智能抓取内容,自动转换为 TXT 和 EPUB 格式,让你随时随地享受离线阅读的自由。
🔍 为什么你需要小说下载器?
在瞬息万变的网络环境中,优质内容随时可能消失。许多优秀的小说作品因为网站关闭、内容下架或版权变动而无法访问。novel-downloader 的诞生就是为了保存这些珍贵的文字资源,让读者不再受网络限制,真正拥有自己的数字图书馆。
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 文件,直接拖拽到脚本管理器安装即可。
第三步:开始下载小说
安装完成后,访问支持的小说网站,当你打开小说目录页时,网页右上角会出现下载图标。点击下载图标,脚本就会开始自动抓取小说内容。下载过程中,页面右下角会显示进度条,你也可以按下 F12 打开开发者工具,在控制台查看详细状态。
novel-downloader解析的小说封面与目录页,展示完整的作品结构和章节导航
💪 核心功能深度解析
智能网站识别系统
novel-downloader 采用模块化规则引擎设计,针对不同网站采用不同的解析策略:
- 单页模式:适用于章节列表在同一页面的网站,如起点、晋江等
- 多页模式:适用于章节分页显示的网站
- 特殊处理:针对特殊加密或反爬机制的网站
你可以在 src/rules/ 目录下看到完整的规则实现,包括 onePage/、twoPage/、special/ 等不同目录,每个文件对应一个网站的解析逻辑。
三级图片文字识别技术
部分网站为了防爬虫,会将文字替换为图片。novel-downloader 采用三级解码方案:
- 文件名映射:根据图片文件名直接匹配文字,速度最快
- 哈希匹配:下载图片计算哈希值进行匹配,准确率较高
- OCR识别:使用 PaddleOCR 中文识别模型,准确但较慢
这种分层处理策略既保证了效率,又确保了识别的准确性。
novel-downloader解析的小说正文页,展示工具提取的完整文本内容和排版格式
字体加密自动处理
晋江文学城等网站使用自定义字体加密文字显示。脚本会自动下载字体文件并建立映射关系,确保下载的内容文字正确显示。如果遇到乱码问题,可以在设置中启用调试模式,按照提示信息提交字体匹配请求。
🛠️ 高级定制功能详解
自定义章节筛选
如果你只想下载小说的特定部分,可以在下载前定义筛选函数:
// 只下载前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 || ""}`;
},
// 自定义CSS样式
mainStyleText: `p {
text-indent: 2em;
line-height: 1.6;
margin: 0.5em 0;
}`,
// 删除EPUB中的空行
genChapterEpub: (contentXHTML) => {
return contentXHTML.replaceAll("<p><br /></p>", "")
.replaceAll("<p><br/></p>", "");
}
};
novel-downloader解析的小说正文+插图页,展示工具对带图片小说内容的处理能力
自动注入配置脚本
如果你总是使用相同的自定义设置,可以创建一个独立的用户脚本自动注入配置:
// ==UserScript==
// @name Noveldownloader 自定义配置
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 自动注入 novel-downloader 配置
// @author 你的名字
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
"use strict";
// 章节筛选
function chapterFilter(chapter) {
return chapter.chapterNumber <= 100;
}
// 保存选项
const saveOptions = {
getchapterName: (chapter) => {
return `第${chapter.chapterNumber}章 ${chapter.chapterName || ""}`;
}
};
window.chapterFilter = chapterFilter;
window.saveOptions = saveOptions;
})();
📋 支持网站完整列表
novel-downloader 支持超过100个小说网站,涵盖了主流原创平台、国外平台和转载网站:
主流原创平台支持
- 起点中文网:✅ 公共章节 ✅ 付费章节
- 晋江文学城:✅ 公共章节 ✅ 付费章节(需配置Token)
- 七猫中文网:✅ 公共章节 ❌ 付费章节
- 番茄小说:✅ 公共章节 ✅ 付费章节
- 长佩文学:✅ 公共章节 ✅ 付费章节
- 息壤中文网:✅ 公共章节 ✅ 付费章节
国外平台支持
- カクヨム(日本):✅ 公共章节 ❌ 付费章节
- 小説家になろう:✅ 公共章节 ❌ 付费章节
- pixiv小说:✅ 公共章节 ❌ 付费章节
- Lofter:✅ 公共章节 ❌ 付费章节
转载网站支持
- 笔趣阁系列:✅ 公共章节 ❌ 付费章节
- UU看书网:✅ 公共章节 ❌ 付费章节
- 和图书:✅ 公共章节 ❌ 付费章节
完整支持列表可在项目的 README.md 文件中查看,脚本持续更新中,更多网站正在不断添加。
novel-downloader生成的纯文本输出文件,展示工具对小说内容的格式化存储能力
❓ 常见问题解决方案
下载按钮为什么不显示?
- 确认当前网站是否在支持列表中
- 刷新页面重新加载脚本
- 检查脚本管理器是否正确安装并启用
下载过程中卡住怎么办?
- 降低并行下载线程数(在设置中调整)
- 检查网络连接是否稳定
- 查看控制台错误信息,可能需要等待网站反爬机制解除
付费章节无法下载?
- 确保已登录相应网站账户
- 确认已购买相关付费章节
- 部分网站需要配置特殊token(如晋江文学城)
下载的文件出现乱码?
- 启用调试模式生成日志
- 检查字体匹配是否正常
- 提交issue并提供详细日志
🔧 开发者扩展指南
如果你想为 novel-downloader 添加对新网站的支持,可以按照以下步骤操作:
创建新规则文件
在 src/rules/ 目录下创建新的规则文件:
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/router/download.ts 中添加新规则的选择逻辑,并在 header.json 文件的 match 字段中添加相应的 URL 模式。
测试与构建
yarn lint # 代码检查
yarn build # 构建脚本
yarn test # 运行测试
💡 实用技巧与最佳实践
提高下载成功率
- 网络环境:使用稳定的网络连接,避免在下载过程中断开
- 登录状态:下载付费章节前确保已登录并购买
- 反爬处理:如遇到频繁失败,尝试降低并行下载线程数
- 分批下载:对于超长篇小说,建议分卷或分批次下载
性能优化建议
- 调整并行下载线程数(默认3个),找到适合当前网站的最佳值
- 使用章节筛选功能只下载需要的部分
- 定期清理浏览器缓存,保持脚本运行流畅
- 关注项目更新,及时获取最新的网站支持和bug修复
安全注意事项
- 仅下载你已购买或有权阅读的内容
- 尊重作者版权,合理使用下载功能
- 不要在公共场合分享下载的付费内容
- 定期备份重要的下载文件
🌟 结语:开启你的离线阅读之旅
novel-downloader 不仅仅是一个下载工具,更是数字阅读时代的知识守护者。在信息易逝的今天,它帮助我们保存那些珍贵的文字,让优质内容不会因为网站关闭或内容下架而彻底消失。
无论你是想要离线阅读方便通勤,还是想要收藏心爱的小说,或是作为技术爱好者想要研究网页解析技术,novel-downloader 都能满足你的需求。它的开源特性意味着你可以自由定制、贡献代码,与全球开发者一起完善这个工具。
现在就安装 novel-downloader,开始你的离线阅读之旅吧!如果你在使用过程中遇到问题或有新功能建议,欢迎到项目页面提交反馈,让我们一起为保存互联网上的优秀小说作品贡献力量。
【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader
更多推荐

所有评论(0)