Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于本项目的未来 #606

Open
yingziwu opened this issue Jan 5, 2024 · 10 comments
Open

关于本项目的未来 #606

yingziwu opened this issue Jan 5, 2024 · 10 comments
Assignees

Comments

@yingziwu
Copy link
Collaborator

yingziwu commented Jan 5, 2024

这个项目被放弃了吗?

你可能已经发现本脚本已经有一段时间没有更新过了,而一些网站也年久失效,无法使用了。这么长时间不维护,你可能会不由自主的想,这个项目是不是已经废弃了?

对于这个问题,我的回答是:这个项目并没有废弃,只是之前一段时间,因为种种事情,自己实在没有时间与心境进行项目维护。

项目简史

在正式开始之前,先简单介绍一下本项目的历史。

最初的目的

本项目最开始的目的可谓是相当的简单,大概就是在转载网站看文时,想将看的小说下载下来到手机上看。因此初代版本结构也相当的简单,就是在目录页抓取章节页的链接,然后再抓取章节页,解析提取出正文。

但这样的结构很快就遇到问题了。

首先是抓取效率过低的问题,一开始只是想临时用用,于是就采用了最为简单的单线程抓取方式,虽然也不是不能用,但一本小说,随随便便就几百章,外加上转载网站访问质量参差不齐,遇到访问质量差一点的网站,一个请求要等一两秒,一本小说抓取下来,要等好几分钟的时间,这效率太差了。改了一改,添加上了并发控制的部分,用上了多线程,外加一些自定义规则的部分,于是就有了第二版

第二版解决了抓取效率的问题,也添加一定程度上的自定义规则,但很快就遇到了新的问题。因为项目最开始是从转载网站出发,转载网站也没有什么登录认证,付费章节、免费章节的区别,更没有什么加密之类的。但后来扩展到原创网站,免费章节、付费章节不分,再加上普遍使用加密措施,之前较为简单的自定义规则已经不够用了。于是就有了第三版,也就是现在这一版。

现在这一版,主要是细化了自定义规则,细化了元数据,在项目架构上增强了模块化设计,以及添加了epub格式的保存方式。

项目未来

上面说了项目的过去,现在再说说本项目的未来。

简单而言,本项目未来将是一个浏览器插件,而不是再是一个油猴脚本。此外,本项目也将更重视 APP API 使用,或者说对于国内的原创小说站点,如果可能的话都将添加基于 APP API 的下载途径。

为什么将是浏览器插件?

为什么不继续作为油猴脚本存在,而要花大力气重构为浏览器插件?你心中可能会有这样的疑问。

对于这个问题,我的回答是:因为已经到了必须要改写为浏览器插件的时间了。

经常关注开发方面新闻的用户,可能很早就知道 Chromium 废弃 Manifest V2 API 的事情,从最开始传闻,到废弃延期,再到最终确定将于2024年6月 Chromium 127 正式废弃 Manifest V2 API。

Manifest V3 相较 Manifest V2 webRequest API 被 Google 干掉了,想要修改请求,就只能使用 declarativeNetRequest API 。

现在,使用油猴 GM_xmlhttpRequest API 进行网络请求,你可能会发现通过 GM_xmlhttpRequest 你可以任意设置请求头,即使请求头是 Forbidden header(比如说:RefererCookie),也可以任意访问响应头,即使是 Forbidden response header (比如说:Set-Cookie)。

但是到了 Manifest V3 时代,由于 webRequest API 的废弃,这样任意修改请求,修改 Forbidden header 的能力必将彻底成为历史。

或者更悲观一点, Manifest V3 时代油猴脚本(管理器)还能不能继续存在都是一个问题(ViolentmonkeyTampermonkey)。

关于 APP API

当下,对于国内的原创小说站点,如果不使用 APP API 进行抓取,仅仅通过网页端访问,访问能力会大大受限。

一些小说站点,对于收费章节都有诸多限制,比如说 SFACG (菠萝包)对于网页版的VIP章节进行了图片化。

还有一些小说站点,更是有很多书籍 APP Only,只能在 APP 端查看,网页站打开提示小说不存在,比如说刺猬猫的某些小说。

另外有一些号称免费小说,但却只能在 APP 上看,典型例子番茄小说。

当然最为关键的是,前段时间在 github 上闲逛,意外发现了 SFACG 与刺猬猫的 APP API 的全套可用实现,再加上这两个站点恰好是我比较常看的站点,再结合上面 Manifest V3 时代的到来,于是就兴起了重构的念头。

站点规则维护

目前站点抓取规则与相关路由分存在两个文件中,这很不方便。浏览器插件版将整合至一个文件中。

另外维护的站点将视本人正在追的小说所在站点为主,比如说:SFACG、刺猬猫、晋江、少年梦、真白萌。其他原创站点视情况而定(欢迎贡献并维护站点规则)。

对于笔趣阁、同人小说,这样被广泛使用的转载站点模版将尝试提供一个抓取模版。

另外,为了快速检查规则可以性,对于非泛用型规则,将附加相应的测试。

时间表

按理而言,这里应该有一个项目时间表,但时间表这种东东,实在是说不好。

我能够保证的仅仅是本周之内(1月8日之前),将上传一个最低可用版本。


2024年3月5日更新

首先很抱歉我食言了。

浏览器插件版,我本来的想法是虽然现在大体的框架都已经写好了,但离实际可用还有一些距离,原本是想等写完第一个可用的网站,再将代码发布到 github 上。

但现在自己状态也不太好,也没有什么动力完成,项目卡在这里也有好几个月的时间了,估计再等也没有不会更好,反倒还会让人觉得我所说的插件版只是在画饼,实际上根本就没有做。

因此将目前的浏览器插件版的代码发布到 github 上了,然后之后再慢慢完成吧。

@yingziwu yingziwu self-assigned this Jan 5, 2024
@yingziwu yingziwu pinned this issue Jan 5, 2024
@Chfeig
Copy link

Chfeig commented Jan 6, 2024

感谢大佬的付出与辛苦,虽然很可惜浏览器脚本的命途多舛,不过还是很幸运有像大佬这样的人愿意为这样的项目费心尽力,更特别的是追读喜好还如此相似,对于我这样的喜好本地阅读器看书的用户来说,大佬的工具实在是解决了一大问题,希望大佬能够开发顺利,今后也会多多支持的!

@GordonRozen
Copy link

辛苦了,以前经常用来下小说家和ckakuyomu的小说,希望作者一切顺利,话说12月版本的油猴脚本更新后连下载按键都不见了请问有什么必要步骤或者说明文档可以参考吗?谢谢

@ruingh
Copy link

ruingh commented Jan 15, 2024

辛苦了,以前经常用来下小说家和ckakuyomu的小说,希望作者一切顺利,话说12月版本的油猴脚本更新后连下载按键都不见了请问有什么必要步骤或者说明文档可以参考吗?谢谢

多半是地址变了,如果结构没变的话只要去编辑器用搜索功能把旧地址改成新的就好

@mxguanxue
Copy link

感谢大佬的付出与辛苦,既然要改成浏览器插件,希望Google系和Firefox都有,因为我用的是Firefox浏览器。

@byx2020
Copy link

byx2020 commented Feb 5, 2024

浏览器插件版出了吗,请求一个插件版的链接
另外,如果可能的话,希望能够修复一下 #451 这个问题

@Lin1nan279
Copy link

请问现在是已经有新版本下载了吗?还是没找到下载的地方…

@ovowII
Copy link

ovowII commented Feb 20, 2024

言语无法表达我对您的感激之情! 多亏了你,我才能读到很多故事!

只有1个问题:小说下载器昨天工作正常,但今天突然无法下载购买的VIP章节。 也许 jjwxc 更新了他们的安全性? 请你看一下这个好吗🥹🙏

*抱歉,我不会说中文,所以请原谅上面句子中的任何奇怪的语法。

@yingziwu
Copy link
Collaborator Author

yingziwu commented Mar 5, 2024

@Lin1nan279
请问现在是已经有新版本下载了吗?还是没找到下载的地方…

还在开发中,尚不能使用。
如果你需要查看的话,可以访问 develop 分支。

@yingziwu
Copy link
Collaborator Author

yingziwu commented Mar 5, 2024

@byx2020
浏览器插件版出了吗,请求一个插件版的链接 另外,如果可能的话,希望能够修复一下 #451 这个问题

掌阅无法显示封面的问题,我过年的时候仔细阅读了一遍 EPUB 3.3 规范
发现了一个可能的原因,封面图片缺少 cover-image property。

@byx2020
Copy link

byx2020 commented Mar 6, 2024

@yingziwu
掌阅无法显示封面的问题,我过年的时候仔细阅读了一遍 EPUB 3.3 规范。 发现了一个可能的原因,封面图片缺少 cover-image property。

了解了,关于这个问题,我之前写了一个脚本把epub里面的jpeg格式文件全部改成jpg格式后缀再重新打包成epub,虽然有点麻烦,但也勉强可以说是初步解决了,
不过能够在下载器上直接解决当然是最好的,在此表示感谢。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

8 participants