news 2026/8/22 18:23:19

WebToEpub 实战:如何把网页小说打包成可离线阅读的 EPUB

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WebToEpub 实战:如何把网页小说打包成可离线阅读的 EPUB

WebToEpub 实战:如何把网页小说打包成可离线阅读的 EPUB

【免费下载链接】WebToEpubA simple Chrome (and Firefox) Extension that converts Web Novels (and other web pages) into an EPUB.项目地址: https://gitcode.com/gh_mirrors/we/WebToEpub

WebToEpub 是一个 Firefox 与 Chrome 浏览器扩展,把在线小说、漫画和任意网页打包成标准 EPUB 电子书。它主要面向长期追更、需要离线阅读、或担心网站关站的读者,也向开发者开放了解析器扩展点。安装后只需打开小说页面、点击工具栏图标,全部章节、图片和封面就会被下载、清洗并压缩进一个 .epub 文件。

📦 上手初体验:从源码到第一本 EPUB

不想编译的话,直接去 Firefox Add-ons 商店或 Chrome Web Store 安装同名扩展即可,装完就能用。这里走源码路线,因为它对开发者和想要最新功能的用户更透明。

git clone https://gitcode.com/gh_mirrors/we/WebToEpub cd WebToEpub npm install npm run lint

执行完最后一条命令,eslint/ 目录下会生成 WebToEpub0.0.0.x.xpi(Firefox 版)和 WebToEpub0.0.0.x.zip(Chrome 版),同时完成一次代码检查。

接下来把扩展加载进浏览器:

  • Firefox:地址栏输入 about:debugging#/runtime/this-firefox,点 Load Temporary Add-on,选 xpi 文件
  • Chrome:打开 chrome://extensions,勾选 Developer Mode,点 Load unpacked extension,选解压后的目录

加载成功后,随便打开一个小说页面,点工具栏的 WebToEpub 图标。弹窗里会自动填入标题、作者、语言,下方列出全部章节。点 Pack EPUB,进度条走完后,一个 epub 文件出现在下载目录——到这里,最低成本的完整体验就跑通了。

⚙️ 功能聚焦:四个值得了解的核心能力

422 个站点解析器:打开页面即识别

特性:plugin/js/parsers/ 目录下有 422 个解析器文件,每个对应一类网站,从 Baka-Tsuki、FanFiction 到 Wuxiaworld、RoyalRoad,readme.md 的站点列表与之一一对应。ParserFactory.js 按域名匹配解析器,匹配不到时按 URL 规则和页面结构打分,再兜底到默认解析器。

效果:你不需要判断"这个网站支不支持",打开页面它自己会选。

对你意味着什么:主流小说站几乎都是开箱即用,只有小众站点才需要额外配置。

章节整理与元数据:一本书一个文件

特性:解析器提取章节 URL 列表,允许你勾选区间、增删条目;书名、作者、语言从页面的 og:title、og:locale 等标签自动读取,作者、语言、文件名都可以手动改。

效果:打包出来的 epub 自带目录、作者和语言信息,封面图默认取正文第一张图,也可手动指定 URL。

对你意味着什么:文件丢进 Calibre 后书名和目录都是对的,不用再手动改元数据。

图片下载与嵌入:离线也看得见图

特性:ImageCollector.js 负责所有图片,按 URL 和位图哈希去重,正文中的图片逐一下载后写入 epub 内部的 Images 目录。

效果:epub 不依赖任何网络资源,断网、换设备、原站删图都不影响阅读。

对你意味着什么:漫画站、插图类轻小说同样适用,不只是纯文字。

默认解析器:给陌生站点留了后路

特性:列表里没有的网站会进入 Default Parser 模式,界面提供四个输入框:正文区 CSS 选择器、章节标题选择器、需要移除的元素选择器、测试用的章节 URL。配置按域名存进浏览器本地,下次自动带出,并带一个测试按钮先验证。

效果:用几个选择器就能"教会"扩展一个新站点,不必写代码。

对你意味着什么:遇到没收录的站点,先花两分钟配一下选择器,多数情况就能出书。

📖 实战场景:我的一次完整打包

我打开一部在 Wuxiaworld 连载的长篇小说主站页面,点扩展图标。专用解析器把几百个章节全部列出来,元数据自动填好,我只在作者一栏确认了一下,点 Pack EPUB。进度条慢慢爬升——它在按章节限速下载正文和图片,默认最小间隔 500 毫秒、并发为 1,这是刻意设计来避免触发反爬。十几分钟后,下载文件夹里多了一个以书名命名的 epub。导入 Calibre,目录、作者、语言、封面全齐。

第二个场景更典型:一个没被收录的小型翻译站。我打开任意一章,扩展自动进入 Default Parser 模式,我用浏览器检查元素找到正文容器,把它的选择器填进"内容区"一栏,填一个章节 URL 点测试,预览正常后保存配置,再回到章节列表打包。全程没有写过一行代码。

🧯 避坑指南:五个常见问题与解法

Firefox 临时扩展重启即失效。about:debugging 加载的扩展是临时的,浏览器重启后要重新加载。日常使用建议装商店版,源码版只在开发时用。

个别章节报 403 或抓不到内容。扩展有 noContentToError403 选项处理空内容返回 403 的站点;下载慢是限速策略,别指望靠提高并发加速,卡住时先检查网络,再减少章节数量重试。

整本书打包中途某章失败。勾选"跳过抓取失败的章节"后,失败章节会以占位页形式写进 epub 并记录错误,不会让整个打包中断,事后可单独重抓。

文件被存成 IllegalFileName.epub。说明文件名含 Windows 非法字符,扩展会先弹错提示;在偏好里开启"自动移除非法字符",它会清洗后正常保存。

本地跑单元测试失败。npm test 会用 http-server 拉起 unitTest/Tests.html 在浏览器里跑 QUnit 测试;如果不用 Node 直接开本地文件,Chrome 需要加 --allow-file-access-from-files 参数启动,否则部分请求会被拦截。

适合经常追更网页小说、想把整本书存进本地书库的读者;代码与说明可直接查看仓库内的 readme.md 和 unitTest/Tests.html。

【免费下载链接】WebToEpubA simple Chrome (and Firefox) Extension that converts Web Novels (and other web pages) into an EPUB.项目地址: https://gitcode.com/gh_mirrors/we/WebToEpub

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 18:23:09

DHO800示波器深度解析:12位ADC如何革新嵌入式调试与电源测试

如果你正在为嵌入式开发、电源设计或硬件调试选择示波器,面对市场上从几千到几十万不等的型号,是否感到无从下手?带宽、采样率、存储深度、解码功能……这些参数到底哪个更重要?更重要的是,在预算有限的情况下&#xf…

作者头像 李华
网站建设 2026/8/22 18:21:52

ABAP Web Service HTTP认证链路全解析:Header、ICF与三种认证机制

1. 这不是“配个认证”那么简单:ABAP Web Service 的 HTTP 认证,是一条从网络协议栈底层直通业务逻辑的完整链路 你有没有遇到过这样的场景:一个 ABAP Web Service 在 SE80 里测试一切正常,用 SOAP UI 调用也返回 200 OK&#xff…

作者头像 李华
网站建设 2026/8/22 18:19:27

Patens:终结标签页切换地狱,构建本地化AI增强开发记忆库

你是否经历过这样的开发场景:为了修复一个Bug,你需要在浏览器、IDE、文档、Stack Overflow之间反复切换,复制粘贴代码片段、API文档和错误信息?当你终于找到解决方案,准备在IDE中实现时,却发现刚才查到的关…

作者头像 李华
网站建设 2026/8/22 18:18:12

QQ空间说说导出实操:用GetQzonehistory完整备份全部历史说说

QQ空间说说导出实操:用GetQzonehistory完整备份全部历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 想把QQ空间的历史说说导出来做个本地备份,却不知道怎…

作者头像 李华
网站建设 2026/8/22 18:18:08

2026年,高强度螺丝厂商名声几何?DIN7991平头螺栓或成关键风向标!

在工业制造领域,螺丝虽是小物件,但其作用却至关重要。特别是在高强度螺丝市场竞争日益激烈的当下,厂商的名声和市场地位越发受到关注。而 DIN7991 平头螺栓,作为高强度螺丝中的重要一员,或许将成为 2026 年衡量厂商的关…

作者头像 李华
网站建设 2026/8/22 18:16:10

2023大厂Java面试指南:Spring Boot与云原生核心技术解析

1. 互联网大厂Java技术栈面试现状解析2023年Java技术岗位的竞争态势可以用"冰火两重天"来形容。一方面,各大互联网企业的招聘需求持续收缩,头部大厂HC(headcount)数量较往年下降约40%;另一方面,符…

作者头像 李华