如何用一款开源工具永久保存200+小说网站的内容?

张开发
2026/4/18 14:57:39 15 分钟阅读

分享文章

如何用一款开源工具永久保存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 在浏览器中运行实时显示下载进度和章节状态 三分钟快速上手指南第一步安装基础环境首先确保你的浏览器已经安装了脚本管理器。目前主流的浏览器脚本管理器有Tampermonkey推荐ViolentmonkeyGreasemonkey第二步获取novel-downloader脚本打开终端执行以下命令获取最新版本git clone https://gitcode.com/gh_mirrors/no/novel-downloader cd novel-downloader yarn install yarn build构建完成后在dist/目录下找到bundle.user.js文件将其拖拽到已安装脚本管理器的浏览器中即可完成安装。第三步开始使用安装完成后访问任意支持的小说网站如起点中文网、晋江文学城等你会发现网页右上角出现了一个下载图标。点击这个图标工具就会自动开始工作。小贴士如果下载的章节较多可能需要一些时间。你可以通过右下角的进度条实时查看下载进度或者按下F12打开开发者工具的控制台查看详细状态。️ 应对网站反爬的智能策略许多小说网站为了保护内容采用了各种反爬虫技术。novel-downloader 通过三层解码方案来应对这些挑战第一层文件名快速匹配当网站将文字替换为图片时工具首先尝试通过图片文件名直接匹配对应的文字。这种方法速度最快适用于大部分常规情况。第二层哈希值精准识别如果文件名匹配失败工具会下载图片并计算其哈希值通过预先建立的哈希-文字映射表来识别内容。这种方法准确率较高速度也相当可观。第三层OCR光学字符识别当前两种方法都无法识别时工具会调用PaddleOCR中文识别模型进行光学字符识别。这是最准确的方法但处理速度相对较慢。工具能够正确处理图文混合的小说章节保留插图和特效图片 个性化下载只获取你需要的不是所有时候都需要下载整本小说。novel-downloader 提供了灵活的筛选功能让你可以精确控制下载内容按章节范围筛选// 只下载前50章 function chapterFilter(chapter) { return chapter.chapterNumber 50; }按章节名称筛选// 只下载标题包含战斗的章节 function chapterFilter(chapter) { return chapter.chapterName chapter.chapterName.includes(战斗); }按分卷筛选// 只下载第一卷的内容 function chapterFilter(chapter) { return chapter.sectionNumber 1; } 输出格式深度定制下载完成后你可以获得两种格式的文件TXT和EPUB。但novel-downloader的功能远不止于此它还允许你深度定制输出格式自定义章节命名const saveOptions { getchapterName: (chapter) { return 第${chapter.chapterNumber}章 ${chapter.chapterName || }; } };自定义段落样式const saveOptions { mainStyleText: p { text-indent: 2em; line-height: 1.6; margin: 0.5em 0; font-family: 思源宋体, serif; } };批量处理空行const saveOptions { genChapterEpub: (contentXHTML) { return contentXHTML.replaceAll(pbr //p, ) .replaceAll(pbr//p, ); } };下载的小说章节保持原始排版适合在各种阅读器上阅读 特殊网站的特殊处理对于一些需要登录或特殊权限的网站novel-downloader 也提供了相应的解决方案晋江文学城的Token配置晋江文学城需要特定的token才能下载VIP章节。你可以通过以下方式获取在任意晋江小说页面打开设置点击获取token按钮按照提示输入账号密码登录工具会自动获取并保存token或者你也可以通过抓包工具自行获取token然后通过用户脚本注入到页面中。付费章节下载注意事项重要提醒下载付费章节前请确保已登录相应网站的账户已购买或订阅了相关章节遵守网站的使用条款和版权规定未登录或未购买的付费章节在下载时会被自动跳过。 常见问题与解决方案下载速度过慢怎么办检查网络连接是否稳定适当调整并行下载线程数默认为3对于反爬较严的网站可以增加下载间隔时间下载过程中卡住了按下F12打开开发者工具切换到控制台(console)标签页查看是否有错误信息输出在设置中启用调试模式获取更详细的日志某些章节内容异常可能是网站使用了特殊的字体加密尝试在设置中启用测试视图查看日志中是否有字体匹配相关的提示信息按照提示提交字体匹配信息到相关渠道工具在某个网站不工作确认该网站是否在支持列表中检查是否有网站更新导致规则失效在项目支持页面提交issue附上详细的问题描述和日志 高级技巧自动化批量下载如果你需要批量下载多本小说可以通过简单的脚本实现自动化// 批量打开多个小说页面并触发下载 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秒处理一本 }); 支持的网站类型概览novel-downloader 目前支持200多个小说网站涵盖了多种类型网站类型代表平台支持状态特殊说明主流中文平台起点、晋江、番茄✅ 完全支持支持VIP章节需登录账户轻小说平台SF轻小说、轻之文库✅ 完全支持部分平台仅支持公共章节日本小说平台カクヨム、小説家になろう✅ 完全支持日文编码自动处理图片加密网站西瓜书屋、海棠文化✅ 完全支持使用三层解码方案特殊格式网站Lofter、Pixiv✅ 条件支持可能跳过视频内容即使是包含复杂对话和心理描写的章节工具也能完整保留原文结构️ 开发者扩展指南如果你发现某个小说网站不在支持列表中可以轻松地为其添加支持。novel-downloader 采用模块化设计每个网站的规则都是独立的创建新规则文件在src/rules/目录下创建新的规则文件继承BaseRuleClass类export default { siteName: your-site-name, urlPattern: /https:\/\/www\.your-site\.com\/novel\/./, bookParse: async () { // 解析书籍信息 return { bookUrl: window.location.href, bookname: document.title, author: document.querySelector(.author)?.textContent, }; }, chapterParse: async (chapterUrl, chapterName, isVIP, isPaid) { // 解析章节内容 return { chapterName, contentRaw: document.querySelector(.content), contentText: document.querySelector(.content)?.textContent, }; } };注册新规则在src/router/download.ts文件中添加相应的选择规则并在header.json的match字段添加URL匹配规则。 最佳实践建议定期备份重要作品即使你现在不打算阅读某部小说如果它对你很重要建议提前下载备份。网络内容随时可能消失。合理设置下载参数对于反爬较严的网站适当降低并行下载线程数增加下载间隔时间避免触发网站的防护机制。注意版权和道德仅下载你拥有阅读权限的内容尊重作者的劳动成果下载的内容仅供个人阅读使用不要将下载的内容用于商业用途或大规模分发保持工具更新定期更新novel-downloader以获取最新的网站支持规则和功能改进。 开始你的数字藏书之旅现在你已经了解了novel-downloader的所有核心功能。无论是为了备份心爱的小说还是为了在没有网络的环境下阅读这款工具都能成为你数字阅读生活的好帮手。记住在信息时代真正拥有内容的方式就是将它保存在本地。novel-downloader 为你提供了这个可能——让那些精彩的故事不再因为网络波动或平台关闭而消失让你的数字图书馆真正属于你自己。开始使用novel-downloader建立属于你自己的永久数字藏书库吧【免费下载链接】novel-downloader一个可扩展的通用型小说下载器。项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章