Greasy Fork

随手小说下载

带图形化界面的小说下载器,自动把当前页最多链接列表作为目录页,下载全部链接正文,简单直观。

目前为 2022-09-13 提交的版本。查看 最新版本

作者
ythong
评分
0 0 0
版本
0.4.0.7
创建于
2022-09-09
更新于
2022-09-13
大小
46.8 KB
许可证
MIT
适用于
所有网站

随手小说下载使用说明


hoothin怠惰小说下载器启发,开始编写本脚本。

特点

  • 图形界面,可以直观看到要下载的目录列表,排序,删除等;
  • 目录项不一定要有关键字(如第一章等),会自动查找包含最多链接的链接列表;
  • 可自定义网站配置,配置信息可以保存以备下次使用。

适用性

本脚本一般只适合下载那些非动态加载的网站。否则需要自定义网站规则,但不保证一定能成功。一般收费网站,会有较多障碍。

基本使用方法

打开待下载文章的目录页,点击本脚本的“开始”菜单项,会在页面右侧显示一个面板,下方有当前页面链接列表,直接点“下载全文”即可下载,文件会下载到浏览器当前的默认下载文件夹下,浏览器有下载管理器的可以在里面查看。

在下载全文前,你可以对章节列表进行排序、删除、重新获取、抽样查看某个章节的正文等。待感觉顺序和正文都正常后再下载全文。这样可以保证下载内容尽量正确。

面板上方是当前网站的配置信息,默认会把自动生成的链接列表和提取正文的css选择器显示在上面。小白一般不用管。

碰到本脚本不能正常生成准确的链接列表或提取正文的网站,如果你有一定的前端开发经验,你也可以自定义网站配置,以使网站能正常下载。详见网站配置信息说明。

面板操作简介:

  • 获取目录

会把当前页面中符合目录选择器的链接新增在列表下方。如果配置的目录选择器为空,会自动生成目录选择器。

  • 剩余目录

根据目录页面的下一页链接,连续获取接下去的剩余目录列表。如果获取剩余目录失败,只能试试通过其他插件(如东方永页机等),看看是否能行。

  • 清空目录

全部删除已经提取的目录列表。

  • 下载全文

根据目录顺序,依次下载章节全文,生成文本文件并自动下载。如果有章节全文提取失败,则不会自动下载。

  • 删空正文

删除正文提取为空的目录,只保留有正文的目录,包括部分提取的。

会下载本章节网页并根据当前正文选择器提取正文。如果配置的正文选择器为空,会自动生成正文选择器。

根据提取结果会在后面显示状态,正常为OK,下载失败为Er,正文提取失败为No等。会根据正文页面的下一页链接继续下载,直到链接和目录中的链接相同。如果不为OK但有部分正文,会在结果后面显示“+”号。后面的数字代表续页数量。

如果正文不为空会显示一个正文阅读器供浏览检查。正文阅读器中可以设置显示样式,并可以翻页。可以当做一个简单的小说阅读器用。

删除本章节

  • 章节排序下拉框

可以根据章节提取顺序,章节号,链接号升降序排序。

章节号根据标题中最先出现的阿拉伯数字或中文数字提取,链接号提取的是最后出现的阿拉伯数字。

  • ︿﹀

隐藏或显示目录列表。

  • 网站配置信息输入框

显示当前网站的配置信息,目录和正文都会依据这些配置信息来提取。 输入框左边有下列按钮:

  • 保存

把输入框中的配置作为当前网站的配置信息存储起来,下次重新在该网站下使用本脚本时会自动使用已保存的配置信息。当配置信息为空时,会删除本网站的配置信息。

  • 缩放

把输入框放大或缩小到固定的大小。

  • 导入

把json格式的一个或多个网站配置信息文件导入并保存到脚本。

  • 导出

导出目前已保存的所有网站的配置信息。保存的是json格式,文件名AllSiteSetting.txt。方便自己换电脑时还原及用户间共享。

  • 清空

删除现有全部网站配置信息。

网站配置信息说明:

配置信息内部以json格式存放,在显示框显示的是本脚本规定的格式,规则如下:

开始字符以$$打头的,则后面字符认为是key,接下去的行则为这个key所对应的值。空行自动删除。

允许的key值:

  • listSelector

表示链接列表选择器,多行则每一行表示一个选择器,提取时会依次合并。

  • textSelwctor

表示正文选择器,多行会依次提取并合并正文

  • jammerSelector

干扰码选择器,提取正文前会检索符合的元素,多行会依次删除

以下的key为自定义函数,统一的行为是如果函数没有返回值,则默认会返回并更新传入的各个参数。

  • customListFunc

自定义列表函数。会在列表提取前执行,参数为doc,selector。表示目录页的document和目录选择器。如果返回参数,则应该是一个对象数组表示目录列表,每个对象为{href:xxx;text:xxx}表示一个目录项的网址和目录名。

  • customItemFunc

自定义目录链接处理函数,会在处理每一个目录链接前执行。传入doc,item,表示目录页的document和待处理的某个目录链接元素。

  • customTextFunc

正文处理函数,会在每一个目录的正文处理前执行。传入doc,selector,表示正文页的document和正文选择器。如果返回值为单个文本,则直接把该文本当做正文。

鸣谢

天下文章一大抄,菜鸟编程也类似。我不是专业前端开发人员,许多js编程技巧来自网上。从hoothin的“怠惰小说下载器”我借鉴了正文提取方法。另外,为支持中文数字章节号提取,从网上抄了“红烧鱼i”的《js实现中文数字转阿拉伯数字》,为支持js高亮显示,使用了codemirror库,在此一并表示感谢。