随手小说下载使用说明
受hoothin的怠惰小说下载器启发,开始编写本脚本。
特点
- 图形界面,可以直观看到要下载的目录列表,排序,删除等;
- 目录项不一定要有关键字(如第一章等),会自动查找包含最多链接的链接列表;
- 可自定义网站配置,配置信息可以保存以备下次使用。
适用性
本脚本一般只适合下载那些非动态加载的网站。否则需要自定义网站规则,但不保证一定能成功。一般收费网站,会有较多障碍。
基本使用方法
打开待下载文章的目录页,点击本脚本的“开始”菜单项,会在页面右侧显示一个面板,下方有当前页面链接列表,直接点“下载全文”即可下载,文件会下载到浏览器当前的默认下载文件夹下,浏览器有下载管理器的可以在里面查看。
在下载全文前,你可以对章节列表进行排序、删除、重新获取、抽样查看某个章节的正文等。待感觉顺序和正文都正常后再下载全文。这样可以保证下载内容尽量正确。
面板上方是当前网站的配置信息,默认会把自动生成的链接列表和提取正文的css选择器显示在上面。小白一般不用管。
碰到本脚本不能正常生成准确的链接列表或提取正文的网站,如果你有一定的前端开发经验,你也可以自定义网站配置,以使网站能正常下载。详见网站配置信息说明。
面板操作简介:
会把当前页面中符合目录选择器的链接新增在列表下方。如果配置的目录选择器为空,会自动生成目录选择器。
根据目录页面的下一页链接,连续获取接下去的剩余目录列表。如果获取剩余目录失败,只能试试通过其他插件(如东方永页机等),看看是否能行。
全部删除已经提取的目录列表。
根据目录顺序,依次下载章节全文,生成文本文件并自动下载。如果有章节全文提取失败,则不会自动下载。
删除正文提取为空的目录,只保留有正文的目录,包括部分提取的。
会下载本章节网页并根据当前正文选择器提取正文。如果配置的正文选择器为空,会自动生成正文选择器。
根据提取结果会在后面显示状态,正常为OK,下载失败为Er,正文提取失败为No等。会根据正文页面的下一页链接继续下载,直到链接和目录中的链接相同。如果不为OK但有部分正文,会在结果后面显示“+”号。后面的数字代表续页数量。
如果正文不为空会显示一个正文阅读器供浏览检查。正文阅读器中可以设置显示样式,并可以翻页。可以当做一个简单的小说阅读器用。
删除本章节
可以根据章节提取顺序,章节号,链接号升降序排序。
章节号根据标题中最先出现的阿拉伯数字或中文数字提取,链接号提取的是最后出现的阿拉伯数字。
隐藏或显示目录列表。
显示当前网站的配置信息,目录和正文都会依据这些配置信息来提取。
输入框左边有下列按钮:
把输入框中的配置作为当前网站的配置信息存储起来,下次重新在该网站下使用本脚本时会自动使用已保存的配置信息。当配置信息为空时,会删除本网站的配置信息。
把输入框放大或缩小到固定的大小。
把json格式的一个或多个网站配置信息文件导入并保存到脚本。
导出目前已保存的所有网站的配置信息。保存的是json格式,文件名AllSiteSetting.txt。方便自己换电脑时还原及用户间共享。
删除现有全部网站配置信息。
网站配置信息说明:
配置信息内部以json格式存放,在显示框显示的是本脚本规定的格式,规则如下:
开始字符以$$打头的,则后面字符认为是key,接下去的行则为这个key所对应的值。空行自动删除。
允许的key值:
表示链接列表选择器,多行则每一行表示一个选择器,提取时会依次合并。
表示正文选择器,多行会依次提取并合并正文
干扰码选择器,提取正文前会检索符合的元素,多行会依次删除
以下的key为自定义函数,统一的行为是如果函数没有返回值,则默认会返回并更新传入的各个参数。
自定义列表函数。会在列表提取前执行,参数为doc,selector。表示目录页的document和目录选择器。如果返回参数,则应该是一个对象数组表示目录列表,每个对象为{href:xxx;text:xxx}表示一个目录项的网址和目录名。
自定义目录链接处理函数,会在处理每一个目录链接前执行。传入doc,item,表示目录页的document和待处理的某个目录链接元素。
正文处理函数,会在每一个目录的正文处理前执行。传入doc,selector,表示正文页的document和正文选择器。如果返回值为单个文本,则直接把该文本当做正文。
鸣谢
天下文章一大抄,菜鸟编程也类似。我不是专业前端开发人员,许多js编程技巧来自网上。从hoothin的“怠惰小说下载器”我借鉴了正文提取方法。另外,为支持中文数字章节号提取,从网上抄了“红烧鱼i”的《js实现中文数字转阿拉伯数字》,为支持js高亮显示,使用了codemirror库,在此一并表示感谢。