3分钟把整本网页小说存成EPUB:WebToEpub离线阅读工具上手笔记
3分钟把整本网页小说存成EPUB:WebToEpub离线阅读工具上手笔记
【免费下载链接】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是一款Chrome和Firefox浏览器扩展,把网页小说转成EPUB电子书供离线阅读。适合想把连载存下来的读者,也适合想为新网站写解析器的开发者。
场景:登机前存下那本追更的小说
我上次坐3小时航班,登机前在浏览器里打开那本网页小说的章节列表页,点了工具栏的 WebToEpub 图标。弹出的面板里整章列表已经列好,我核对了一下标题和作者,选了张封面缩略图,直接点「Pack EPUB」。几分钟后下载文件夹里多了一个 .epub 文件,飞机上用阅读器打开就能读,不用碰网站的广告和分页。
功能总览:按使用场景对号入座
- 存整本书→ 批量抓取:识别章节列表页里的全部章节链接,逐章下载打包。
- 不想配置→ 专用解析器:仓库
plugin/js/parsers/目录里有 400 多个现成解析器,Baka-Tsuki、Archive of Our Own、FanFiction.net、Wuxiaworld、RoyalRoad 这些常见站直接能用。 - 站点没在列表里→ Default Parser:自己填正文的 CSS 选择器,插件负责剩下全部。
- 跟连载→ Library(书库):把作品加入本地书库,之后查新章、更新、重新生成 EPUB。
- 文件太大→ 高级选项里的图片压缩开关。
安装:从源码构建后载入浏览器
三步构建
装好 Node.js 后:
git clone https://gitcode.com/gh_mirrors/we/WebToEpub cd WebToEpub npm install npm run buildnpm run build完成后,eslint/目录会生成两个文件:.xpi 是 Firefox 版,.zip 是 Chrome 版。
载入 Firefox
地址栏输入about:debugging#/runtime/this-firefox,点「Load Temporary Add-on」,选 .xpi 文件即可。注意这是临时加载:浏览器重启后要重新选一次文件(要求 Firefox 140 及以上)。
载入 Chrome
输入chrome://extensions,打开右上角「Developer Mode」,点「Load unpacked extension」,选解压后的目录(要求 Chrome 120 及以上)。
第一次转换:从页面到文件的完整链路
- 打开小说的章节列表页(或第一章页面)。
- 点 WebToEpub 图标,核对标题、作者、语言,不对就手改。
- 点缩略图选封面;不满意可以手动填一张图片 URL。
- 检查章节列表,默认全选;按住 Shift 点首尾两章可以框选一段范围。
- 点「Pack EPUB」,进度条走完(它在下图片),文件落到浏览器默认下载目录。
重点功能:Default Parser 和 Library
Default Parser:没解析器的站点怎么救
面板切到 Default Parser 区域,在正文输入框填 CSS 选择器,先点 Test。它会预览第一章节点将被打包进 EPUB 的 HTML,确认没抓错再点「Load and Analyse」载入章节。抓不到内容时,打开页面上方 Help 按钮里的示例对照着改选择器就行。
Library:连载更新的追更机制
首次转换后点「Add to Library」,作品就进了本地书库。之后在面板的 Library 入口里能对每部书搜新章、更新,再下载一份带新章节的 EPUB;还支持把另一份 EPUB 的章节合并进来。连载跟更比每次整本重转省事很多,书库也能导出/导入备份。
我踩过的坑和解法
- 章节没抓全:最早我在站内某个中间章节页点转换,插件只识别到当前章。换到章节列表页或第一章页面重试就好了。
- 403/429 报错:网站限流时插件会弹窗警告并给重试按钮。先在普通浏览状态下登录、过完验证再回来转;长书在高级选项勾选「跳过抓取失败的章节」,不会因单章失败卡住整个流程。
- Firefox 重启后图标消失:临时加载的扩展不持久,重启后重新选一次 .xpi 即可,文件没变就不用重新构建。
- 图片链接是低清缩略图:有些站正文默认加载小图,在高级选项打开「获取最高分辨率图片」,抓出来才是原图。
下一步该做什么
你常用的站点如果不支持,可以照着plugin/js/parsers/里的模板文件写解析器并提交给项目,贡献流程看仓库里的 CONTRIBUTING.md。只想先把书读起来的话,先跑通「章节列表页 → Pack EPUB」这条主线,熟练后再用 Library 接管你的连载更新。
【免费下载链接】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),仅供参考
