全网小说下载终极指南: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后台抓包与解析界面,展示工具如何智能提取小说章节链接

🚀 五分钟快速上手教程

第一步:安装脚本管理器

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解析的小说封面与目录页,展示完整的作品结构和章节导航

💪 核心功能深度解析

智能网站识别系统

novel-downloader 采用模块化规则引擎设计,针对不同网站采用不同的解析策略:

  • 单页模式:适用于章节列表在同一页面的网站,如起点、晋江等
  • 多页模式:适用于章节分页显示的网站
  • 特殊处理:针对特殊加密或反爬机制的网站

你可以在 src/rules/ 目录下看到完整的规则实现,包括 onePage/、twoPage/、special/ 等不同目录,每个文件对应一个网站的解析逻辑。

三级图片文字识别技术

部分网站为了防爬虫,会将文字替换为图片。novel-downloader 采用三级解码方案:

  1. 文件名映射:根据图片文件名直接匹配文字,速度最快
  2. 哈希匹配:下载图片计算哈希值进行匹配,准确率较高
  3. OCR识别:使用 PaddleOCR 中文识别模型,准确但较慢

这种分层处理策略既保证了效率,又确保了识别的准确性。

novel-downloader小说正文解析效果 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小说插图处理能力 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纯文本格式输出 novel-downloader生成的纯文本输出文件,展示工具对小说内容的格式化存储能力

❓ 常见问题解决方案

下载按钮为什么不显示?

  1. 确认当前网站是否在支持列表中
  2. 刷新页面重新加载脚本
  3. 检查脚本管理器是否正确安装并启用

下载过程中卡住怎么办?

  1. 降低并行下载线程数(在设置中调整)
  2. 检查网络连接是否稳定
  3. 查看控制台错误信息,可能需要等待网站反爬机制解除

付费章节无法下载?

  1. 确保已登录相应网站账户
  2. 确认已购买相关付费章节
  3. 部分网站需要配置特殊token(如晋江文学城)

下载的文件出现乱码?

  1. 启用调试模式生成日志
  2. 检查字体匹配是否正常
  3. 提交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    # 运行测试

💡 实用技巧与最佳实践

提高下载成功率

  1. 网络环境:使用稳定的网络连接,避免在下载过程中断开
  2. 登录状态:下载付费章节前确保已登录并购买
  3. 反爬处理:如遇到频繁失败,尝试降低并行下载线程数
  4. 分批下载:对于超长篇小说,建议分卷或分批次下载

性能优化建议

  • 调整并行下载线程数(默认3个),找到适合当前网站的最佳值
  • 使用章节筛选功能只下载需要的部分
  • 定期清理浏览器缓存,保持脚本运行流畅
  • 关注项目更新,及时获取最新的网站支持和bug修复

安全注意事项

  • 仅下载你已购买或有权阅读的内容
  • 尊重作者版权,合理使用下载功能
  • 不要在公共场合分享下载的付费内容
  • 定期备份重要的下载文件

🌟 结语:开启你的离线阅读之旅

novel-downloader 不仅仅是一个下载工具,更是数字阅读时代的知识守护者。在信息易逝的今天,它帮助我们保存那些珍贵的文字,让优质内容不会因为网站关闭或内容下架而彻底消失。

无论你是想要离线阅读方便通勤,还是想要收藏心爱的小说,或是作为技术爱好者想要研究网页解析技术,novel-downloader 都能满足你的需求。它的开源特性意味着你可以自由定制、贡献代码,与全球开发者一起完善这个工具。

现在就安装 novel-downloader,开始你的离线阅读之旅吧!如果你在使用过程中遇到问题或有新功能建议,欢迎到项目页面提交反馈,让我们一起为保存互联网上的优秀小说作品贡献力量。

【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 【免费下载链接】novel-downloader 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader

更多推荐