MCPcopy
hub / github.com/404-novel-project/novel-downloader

github.com/404-novel-project/novel-downloader @main sqlite

repository ↗ · DeepWiki ↗
1,409 symbols 3,022 edges 208 files 114 documented · 8%
README

小说下载器

一个可扩展的通用型小说下载器。

关于 404 小说文库项目

在这个 404 时代,由于种种原因,起点、晋江、刺猬猫、SF 等小说网站上的小说经常毫无征兆的消失。即使该小说已经入 V,即使你已经订阅了该小说。

这样的例子数不胜数。随便打开笔趣阁等转载网站,首发于起点,但现在起点上找不到该小说的情形比比皆是。像轻文轻小说这种整个网站都上天了的情况也不是没有。

如果小说消失时被笔趣阁等转载网站转载了,后来的读者尚且能一睹其风采,但如果小说发布的网站不是起点,小说也不够热,根本就没有转载网站转载,那后来者想一睹该小说的风采,就相当困难了。

404 小说文库项目的目的是:保存这些质量上乘,但不够热门,没有被其他网站转载,彻底从互联网上消失的作品。

本脚本为 404 小说文库项目的组成部分之一,对于无登录墙的小说网站,如您同意,本脚本将会尝试将当前书籍详情页及目录页(如果存在)存档至互联网档案馆(archive.org),以备日后(被删除后)查看。

存档过程中将会搜集并上报您如下信息:IP 地址、User-Agent、Referer、当前书籍详情页 URL、当前书籍目录页 URL(如果存在)、当前小说下载器脚本版本、当前脚本管理器版本。除上述信息外,不会搜集您任何其他信息。

安装

本软件为油猴脚本,需先在浏览器安装脚本管理器(Greasemonkey、Violentmonkey、Tampermonkey),再安装本脚本。具体可参见:如何安装用户脚本

本脚本地址:

使用方法

本脚本执行下载任务时将播放无声音频,以保证脚本后台运行时不被休眠。

如果本脚本支持该小说网站,当打开小说目录页时,网页右上角会出现下载图标,点击该图标即可开始下载。

如果你要下载的小说章节较多,等待时间可能较长,此时请耐心等待。

你通过右下角进度条了解当前下载进度,或者按下 F12,打开网页控制台查看当前下载状态。

下载完成后,本脚本将会自动下载一个 TXT 文档及 EPUB 文件。

TXT 文档请使用记事本或其它阅读软件进行阅读。

EPUB 文件请使用相应阅读器阅读。

常见问题

特别提醒:请至本项目支持页面提交 issue, 发布于 greasyfork 评论区、交流群组等地方的反馈不会被处理。

  • Q:我在使用脚本时出现了 / 发现了问题。

A:请在项目支持页面提交 issue 并按模板要求检查和填写所有信息。

为生成详尽的日志,你需要在设置中启用调试模式。

调试日志为下载生成的 zip 文件中的 debug.log 文件。如下载卡住,没有生成任何文件,你可以在设置中启用测试视图,而后复制日志选项卡中的所有内容并保存到txt文档后上传。

如果我们未能复现你的问题,以及日志中没有相关问题的报错,可能需要你提供进一步的信息(某些问题可能和账号或网络环境有关)。

  • Q:希望支持某某网站。/希望增加某个功能。

A:请在项目支持页面提交 issue 并按模板要求检查和填写所有信息。我们将视情况,酌情添加。

需要注意的是,并不是所有的网站支持和新功能请求都会被满足,或者被立即满足。我们更欢迎贡献代码。

  • Q: 我在issue区中找到了和我反馈相重复的内容,我是否还要继续反馈。

A:如果你反馈的是新网站或新功能请求,请直接在该issue下进行补充,重复的issue将被直接关闭。如果该issue已被关闭且未被实现,请不要再重复提交。

对于bug,这些bug可能是曾经修复后又新出现的,可以根据具体情况决定是否开新issue。但你应当首先参考issue中的回复,一些bug可能无法在脚本中修复,但有其他解决方案,如ESJ EPUB下载问题(https://github.com/404-novel-project/novel-downloader/issues/690 )。

  • Q:请问有交流群组吗?

A:有的。Matrix 空间:#404-novel-project:bgme.me,Telegram 群组:https://t.me/+ZCngCQiJ_xo2NDI1 。

目前支持小说网站(部分)

特别提醒:如欲下载支持列表中网站的付费章节,请登录相应网站帐户,并确定已购买相应付费章节。未登录网站帐户,或未购买的付费章节,下载时将直接忽略,无法进行下载。

站点 公共章节 付费章节 备注
SF 轻小说 ✅* ✅** *不支持对话小说,例:224282。 **VIP 章节仅支持图片版。
起点中文网 部分小说 VIP 章节可能出现乱码无法下载。脚本支持 book.qidian.com 页面下载,但VIP章节因跨域问题需要切换至 www.qidian.com 下载。
起点女生网
晋江文学城 晋江文学城章节下载可通过添加 API Token 以获得更好体验,Token 添加方法参见 Token 填写一节
长佩文学 反爬较严,限制下载速度,每分钟约可下载 6 章,请耐心等待,最好不要多开页面同时下载多本长佩小说。

长佩文学为单页应用,如打开书籍详情页右上角未出现下载图标,请按下 F5 重新加载当前页面。 | | 书耽 | ✅ | ✅ | VIP 章节仅支持图片版。 | | 海棠文化线上文学城 | ✅ | ✅ | | | 次元姬 | ✅ | ✅ | | | 米国度 | ✅ | ✅ | | | 寒武纪年原创网 | ✅ | ✅ | | | 息壤中文网 | ✅ | ✅ | | | 有毒小说网 | ✅ | ✅ | | | 独阅读 | ✅ | ✅ | | | 轻之文库轻小说 | ✅ | ❌ | VIP 章节仅支持 APP 查看 | | 纵横中文网 | ✅ | ❌ | | | 花语女生网 | ✅ | ❌ | | | 17K 小说网 | ✅ | ❌ | | | 书海小说网 | ✅ | ❌ | | | 塔读文学 | ✅ | ❌ | | | 七猫中文网 | ✅ | ❌ | 请先进入作品目录再运行脚本。 | | 废文网 | ✅ | ❎ | 部分小说或章节需登录后查看。 | | pixiv | ✅ | ❎ | 单页应用,如打开书籍详情页右上角未出现下载图标,请按下 F5 重新加载当前页面。 | | Lofter | ✅ | ❎ | 因本脚本会将博文中的图片也一同下载下来,对于图片特别多的博客,下载时请注意内存用量(800MB 限制),根据实际情况使用筛选函数分次下载。

部分博文内含视频内容,为节省内存使用,加快下载速度,本脚本将跳过视频内容。

如您使用广告屏蔽器,可能会影响本脚本在 Lofter 的工作。 | | 努努书坊 | ✅ | ❎ | 格式众多,如发现不支持页面敬请反馈。 | | 真白萌 | ✅ | ❎ | | | 天涯书库 | ✅ | ❎ | | | 爱青果 | ✅ | ❎ | | | カクヨム | ✅ | ❎ | | | 小説家になろう | ✅ | ❎ | | | ハーメルン | ✅ | ❎ | | | | ✅ | ❎ | | | ファンタジー小説 | ✅ | ❌ | | | Novel Up Plus | ✅ | ❎ | | | ESJ | ✅ | ❎ | 当前下载EPUB文件可能会遇到问题。

解决办法:

按F12 弹出开发工具-> 转到网络页(Network)->按ctrl+R重新加载->找到core.js(链接为https://cdnjs.cloudflare.com

Extension points exported contracts — how you extend this code

SessionDomainState (Interface)
* State for tracking mappings and loading status per session+domain+type
src/lib/SessionMappingCache.ts
testResult (Interface)
(no doc)
test/sites.ts
TestCase (Interface)
(no doc)
test/e2e-validate.ts
WindowObject (Interface)
(no doc)
src/global.ts
StatData (Interface)
(no doc)
src/stat.ts
BcMessage (Interface)
(no doc)
src/rules.ts
BookAdditionalMetadate (Interface)
(no doc)
src/main/Book.ts
SaveOptions (Interface)
(no doc)
src/save/options.ts

Core symbols most depended-on inside this repo

rm
called by 173
src/lib/dom.ts
parse
called by 93
src/main/Chapter.ts
cleanDOM
called by 67
src/lib/cleanDOM.ts
remove
called by 64
src/lib/localStorageExpired.ts
set
called by 63
src/lib/localStorageExpired.ts
getHtmlDOM
called by 61
src/lib/http.ts
getAttachment
called by 57
src/lib/attachments.ts
mkRuleClass
called by 49
src/rules/onePage/template.ts

Shape

Function 543
Method 490
Interface 217
Class 157
Enum 2

Languages

TypeScript99%
Python1%

Modules by API surface

src/lib/cleanDOM.ts57 symbols
src/rules/special/original/pixiv.d.ts56 symbols
src/rules/special/original/jjwxc.ts48 symbols
src/rules/special/original/ciweimao.ts35 symbols
src/rules/special/original/gongzicp.ts34 symbols
src/rules/special/original/qidian.ts32 symbols
src/rules/special/reprint/xiguashuwu.ts28 symbols
src/save/epub.ts26 symbols
src/rules/special/lib/weimengcms.ts26 symbols
src/rules/special/original/longmabook.ts21 symbols
src/rules/biquge/onePage.ts21 symbols
src/rules.ts21 symbols

Dependencies from manifests, versioned

@babel/types7.24.0 · 1×
@mozilla/readability0.6.0 · 1×
@oovz/esearch-ocr8.4.4 · 1×
@types/crypto-js4.2.2 · 1×
@types/css-tree2.3.7 · 1×
@types/file-saver2.0.7 · 1×
@types/got9.6.12 · 1×
@types/mime-db1.43.5 · 1×
@types/node20.11.24 · 1×
@types/nunjucks3.2.6 · 1×
@typescript-eslint/eslint-plugin7.1.1 · 1×

For agents

$ claude mcp add novel-downloader \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact