如何用novel-downloader一键保存100+小说网站,打造个人离线书库
2026/5/15 1:34:17 网站建设 项目流程

如何用novel-downloader一键保存100+小说网站,打造个人离线书库

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

在数字阅读时代,你是否曾遇到过这样的困扰:追更到一半的小说突然网站404、网络信号差无法继续阅读、或是想离线保存心爱作品却无从下手?novel-downloader正是为解决这些问题而生的开源工具,它能帮你将100多个小说网站的内容批量下载为TXT和EPUB格式,建立个人专属的离线书库。

为什么需要小说下载工具?

网络阅读的三大痛点

  1. 内容消失风险:小说网站关闭、作品下架等情况时有发生,热门作品可能一夜之间消失无踪
  2. 阅读体验受限:网络不稳定、广告干扰、网站排版混乱影响阅读体验
  3. 平台依赖性强:不同平台需要不同账号,阅读进度无法跨设备同步

novel-downloader的解决方案

这款基于TypeScript开发的油猴脚本,通过浏览器扩展方式工作,完全免费开源。它不仅能解决上述问题,还具备以下核心优势:

  • 广泛支持:覆盖起点、晋江、刺猬猫等100+国内外小说平台
  • 智能处理:自动识别页面结构,清理广告和干扰元素
  • 格式友好:生成TXT和EPUB两种主流格式,兼容各类阅读器
  • 高度可扩展:模块化设计,开发者可轻松添加新网站支持

核心技术:三层解码系统应对网站反爬

面对网站的各种反爬措施,novel-downloader采用了一套完整的技术解决方案:

1. 图片文字识别系统

部分网站将文字替换为图片防止复制,脚本采用三级解码方案:

  • 文件名映射:通过图片文件名快速匹配文字
  • 哈希匹配:计算图片哈希值进行精确识别
  • OCR识别:使用PaddleOCR模型进行光学字符识别

2. 字体加密破解

晋江文学城等平台使用自定义字体加密,脚本会自动下载字体文件并建立映射关系,确保文字正确显示。相关解码模块位于字体解码源码。

3. 付费章节支持

对于需要登录的付费内容,脚本会使用你的登录状态进行访问。只需确保已登录网站账户并购买了相关章节,即可正常下载。

安装与使用:三步开启离线阅读

第一步:安装脚本管理器

novel-downloader是油猴脚本,需要先在浏览器安装脚本管理器:

  • Chrome/Edge:推荐Tampermonkey
  • Firefox:推荐Greasemonkey
  • 跨浏览器:Violentmonkey(开源免费)

第二步:获取并安装脚本

从源码构建脚本文件:

git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build

构建完成后,在dist目录中找到bundle.user.js文件,拖拽到浏览器安装即可。

第三步:开始使用

访问支持的小说网站时,网页右上角会出现下载图标。点击图标后,右下角会显示进度条,按下F12可查看详细状态。下载完成后自动生成TXT和EPUB文件。

支持网站大全:主流平台全覆盖

novel-downloader支持的小说网站数量庞大,以下是部分代表性平台:

平台类型代表网站特色功能
国内主流起点中文网、晋江文学城、七猫中文网付费章节支持、字体加密处理
国外平台カクヨム(日本)、pixiv小说、Lofter多语言支持、特殊编码处理
转载网站笔趣阁系列、UU看书网、和图书免费资源、海量内容
小众平台息壤中文网、有毒小说网、独阅读特色内容、特殊处理

完整支持列表可在项目规则目录中查看,包含100多个网站的规则文件。从主流大站到小众平台,都能完美支持。

高级功能:个性化定制你的阅读体验

章节筛选功能

只想下载特定章节?在开始下载前,按下F12打开开发者工具,定义chapterFilter函数:

// 只下载前50章 function chapterFilter(chapter) { return chapter.chapterNumber <= 50; } // 只下载包含特定关键词的章节 function chapterFilter(chapter) { return chapter.chapterName.includes("番外"); }

格式自定义

通过saveOptions对象,可以完全控制输出格式:

const saveOptions = { getchapterName: (chapter) => { return `第${chapter.chapterNumber}章 ${chapter.chapterName || ''}`; }, mainStyleText: `p { text-indent: 2em; line-height: 1.6; }` };

下载参数调整

在设置面板中,可以调整并行下载线程数、下载间隔等参数,以适应不同网站的访问限制:

// 默认设置已优化,特殊情况下可手动调整 { parallelThreads: 3, // 并行下载线程数 downloadInterval: 1000, // 下载间隔(毫秒) maxInterval: 5000 // 最大间隔时间 }

技术架构:模块化设计的强大引擎

novel-downloader采用清晰的模块化架构,确保代码的可维护性和扩展性:

核心模块结构

  • 规则引擎src/rules/目录包含各类网站解析规则,按网站类型分类管理
  • 解码系统src/lib/decoders/处理图片识别、字体解码等特殊需求
  • UI组件src/ui/提供美观的用户界面和交互体验
  • 保存模块src/save/负责生成TXT、EPUB和HTML格式文件

项目构建流程

项目使用TypeScript开发,通过Webpack进行打包构建:

# 安装依赖 yarn install # 代码检查 yarn lint # 构建脚本 yarn build # 运行测试 yarn test

使用技巧与最佳实践

优化下载体验

  1. 批量下载建议:对于大型小说,建议分卷下载,避免内存溢出
  2. 网络环境:使用稳定的网络连接,避免下载中断
  3. 定时下载:选择网络空闲时段进行批量下载

常见问题处理

Q:下载过程中卡住了怎么办?A:按下F12查看控制台错误信息,通常原因包括网络问题或网站反爬机制触发。可尝试降低并行下载线程数或稍后再试。

Q:文件出现乱码?A:某些网站使用特殊编码或字体。脚本会自动处理大部分情况,如遇问题可在设置中启用调试模式查看详细错误信息。

Q:脚本在某些网站上不工作?A:首先确认网站是否在支持列表中。如果支持但不工作,可能是网站更新了页面结构。可参考开发指南自行添加规则,或在项目issue页面提交反馈。

尊重版权与合理使用

novel-downloader旨在帮助读者更好地管理和阅读已拥有的数字内容。请遵守以下原则:

  • 仅下载已购买或有权阅读的内容
  • 尊重作者版权,支持正版阅读
  • 对于付费章节,确保已登录相应账户并购买相关章节

技术要点:深度解析工作原理

智能页面解析

脚本通过分析DOM结构,自动识别章节列表和正文内容。每个网站都有对应的解析规则,位于src/rules/目录下。当访问支持的小说网站时,脚本会:

  1. 检测页面URL匹配规则
  2. 提取书籍信息和章节列表
  3. 分批下载章节内容
  4. 清理HTML标签和广告
  5. 生成结构化电子书文件

多格式输出系统

下载完成后,脚本会生成三种格式文件:

  • TXT格式:纯文本,兼容所有阅读器
  • EPUB格式:标准电子书格式,支持目录和样式
  • HTML格式:包含原始网页样式,便于查看

错误处理与重试机制

内置完善的错误处理系统,包括:

  • 网络超时自动重试
  • 章节下载失败跳过并记录
  • 内存使用监控与优化
  • 进度保存与断点续传

加入开源社区:让工具更强大

novel-downloader是一个开源项目,欢迎开发者贡献代码。如果你发现某个网站不受支持,可以参考以下步骤添加新规则:

  1. src/rules/目录下创建新的规则文件
  2. 继承BaseRuleClass类,实现bookParsechapterParse方法
  3. router/download.ts中添加选择规则
  4. header.json中添加URL匹配规则
  5. 运行测试确保功能正常

项目采用AGPL-3.0许可证,确保代码的开放性和可复用性。每一次贡献都能让这个工具支持更多网站,帮助更多读者保存他们心爱的作品。

开始你的离线阅读之旅

在这个信息快速更迭的时代,novel-downloader不仅是一个下载工具,更是数字阅读的守护者。它让每一本好作品都能被妥善保存,让精彩内容不会因为技术限制而消失。

无论你是想要收藏经典作品,还是需要离线阅读方便通勤,这款工具都能满足你的需求。立即开始:

  1. 安装脚本管理器
  2. 获取novel-downloader脚本
  3. 访问你喜欢的小说网站
  4. 点击下载按钮,享受离线阅读的便利

让每一本好作品都能陪伴你走过每一个美好时光。在数字阅读的世界里,novel-downloader为你保驾护航,确保精彩永不消失。📚✨

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询