侧边栏壁纸
博主头像
luoxx博主等级

只要思想不滑坡,办法总比困难多

  • 累计撰写 35 篇文章
  • 累计创建 46 个标签
  • 累计收到 335 条评论

目 录CONTENT

文章目录

uTools摸鱼阅读【在线阅读功能】上线啦

luoxx
2022-11-09 / 51 评论 / 24 点赞 / 2,503 阅读 / 5,048 字
温馨提示:
本文最后更新于 2022-12-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

摸鱼阅读上线utools插件市场后,有不少朋友关注和使用,博主也一直在迭代开发新的功能和修复各种bug,迭代至今已经将近一年时间了。
最近博主又花了较长一段时间苦肝出了一个全新的功能-支持阅读在线小说网站的书籍。这是一个非必须的功能,但是绝对是一个有意思的功能,开发也花费了博主很多时间和精力,所以这个功能将作为一个收费功能上架,希望有兴趣的朋友多多支持。

功能介绍

在线阅读功能其实就类似于安卓手机上的开源阅读app,添加各个网站的书源之后,就能在插件内搜索并且将书籍加到书架进行阅读。

书源管理的入口在插件右上角
image-1668070565204
打开书源管理后,在添加书源输入框内填写在线书源的链接或者书源json文本,然后点击添加按钮即可添加成功。
image-1668666966359
image-1668667140963
添加书源成功之后,在插件主界面找到添加在线书籍入口
image-1668070528200
点击入口进入搜书界面后,输入关键字即可就开始搜书(点击搜索图标或者直接按回车)
image-1668070959520
点击加入书架之后,即可在书架看到了,之后的操作就和本地书籍一样啦。

ps:搜索功能会在你已添加的所有书源内进行搜索,然后将所有书源的搜索结果展示出来,期间需要发网络请求到每一个书源对应的网站查询,所以会需要一点时间,请耐心等待。
ps:必须要重点解释一下,书源并不是指你要看小说的网站的网址,而是一串json数据,这串数据中定义了怎么去解析该网站的内容。直接在书源管理里面输入笔趣阁之类的网站的网址是不能添加上书源的。输入框描述的在线地址,比如摸鱼阅读官方书源https://www.luoxx.top/book_source.txt,这个地址其实就是一个在线的txt文件,文件的内容就是一长串json数据,里面包含了多个书源。

Cookie设置

有一些网站部分章节需要登录后才能阅读(比如塔读),大部分正版网站的收费章节都需要登录并且购买后才能阅读(比如飞卢)。而绝大部分小说站的登录状态都是通过Cookie来保存的,所以,我们只需要在网页上登录好对应网站之后,保存一下存在浏览器的cookie,然后再书源管理中给对应网站的书源设置好cookie,即可在摸鱼阅读看到登录后才能完整阅读的章节。

具体操作如下,示例操作使用的是塔读(tadu.com

  1. 第一步,在浏览器打开tadu.com,点击右上角登录,登录好自己的账号
  2. 打开浏览器调试窗口(开发者工具) windows系统一般是按f12,mac系统一般是 command+option+i 。也可以用鼠标操作,比如chrome浏览器的入口就是如图所在
    image-1668390223780
  3. 打开之后刷新一下页面,然后切换到network标签,如图
    image-1668390553928
  4. 如上图,点击第一个网络请求,就能看到请求的详细参数,在Request Headers里面就有我们的cookie信息,将cookie的内容复制。
  5. 打开摸鱼阅读插件,点开书源管理,在书源列表内找到相应网站的书源,此处我们要找的是塔读的书源。
  6. 点击书源右边的设置cookie按钮,将我们复制的cookie内容填入,点击确定保存即可。
    image-1668390859064
  7. 再次打开该网站的书籍,就能正常阅读登录后才能阅读的内容了。

utools下载地址

utools官网

在线阅读功能的优势何在

  1. 相比直接在浏览器网页看书,或者拿手机看书,使用摸鱼阅读看在线小说更隐蔽,被发现的风险低了不止一个数量级。
  2. 可以过滤掉网页上的广告以及一些垃圾的穿插内容(比如一秒记住本站地址之类的)
  3. 相比直接在插件添加本地书籍的方式,在线阅读添加到书架后,有新的章节直接就能看到,不用自己再去导入,时效性更高,更方便。
  4. 未完待续

收费说明

在线阅读功能的定价为 8元 ,博主花费了很多精力开发这个功能,并且后续还要投入很多时间精力来完善功能、修复bug,并且官方书源的维护也需要日积月累的时间投入。所以我个人觉得8块钱,一份早餐,甚至只是有一些朋友的半份早餐的价格并不算很贵。而且这只是一个附加的功能,不购买并不影响之前的本地书籍阅读和使用。所以希望大家能够多多理解,按需购买即可。

书源介绍

摸鱼阅读官方书源地址 (博主之前重心都在开发功能上,所以添加的书源目前还不多,不过后续会火速增加的,敬请期待)
https://luoxx.top/book_source.txt

官方书源已收录网站列表

ps:以下所列的是官方书源所收录的网站列表,不是书源地址,官方书源地址是 https://luoxx.top/book_source.txt

书源json示例

[
    {
        "source_name": "何以笙箫默",
        "source_url": "http://www.yetianlian.la/",
        "book_name": ".book .info h2",
        "book_remark": ".book .info .intro",
        "book_author": ".book .info .small span:eq(0)",
        "book_cover": ".book .info .cover img",
        "book_menu": ".listmain dl dd:gt(11) a",
        "chapter_title": ".book .content h1",
        "chapter_content_type": "1",
        "chapter_content": "#content",
        "content_filter": [
            "NzAxN2s=",
            "5LiA56eS6K6w5L2PLitjb20=",
            "5Li+5oql5ZCO6K+36ICQ5b+D562J5b6FLOW5tuWIt+aWsOmhtemdouOAgg==",
			"6K+36K6w5L2P5pys5Lmm6aaW5Y+R5Z+f5ZCNLitsYQ==",
			"aHR0cC4raHRtbA=="
        ],
        "multi_page": false,
        "search_url": "http://www.yetianlian.la/s.php?ie=utf-8&q=###keyword###",
        "search_result": {
            "limit": "6",
            "list": ".so_list .type_show .bookbox",
            "name": ".bookinfo .bookname a",
            "author": ".bookinfo .author",
            "newest": ".bookinfo .update a",
            "remark": "",
            "cover": ".bookimg a img",
            "cover_attr": "src",
            "url": ".bookinfo .bookname a",
            "url_attr": "href"
        }
    },
    {
        "source_name": "塔读小说",
        "source_url": "https://www.tadu.com/",
        "book_name": ".bookNm .bkNm",
        "book_remark": ".boxT .intro",
        "book_author": ".bookNm .author",
        "book_cover": ".bookImg img",
        "book_menu": ".boxT .lfT li div a",
        "chapter_title": ".read_details_box .chapter h4",
        "chapter_content_type": "2",
        "chapter_content_attr": "value",
        "chapter_content": "#bookPartResourceUrl",
        "content_filter": [
            "e1snIl1jb250ZW50WyciXTpbJyJd",
            "WyInXX0k",
			"LirloZTor7vlsI/or7QuKlxu"
        ],
        "multi_page": false,
        "search_url": "https://tadu.com/search?query=###keyword###",
        "search_result": {
            "limit": "8",
            "list": ".seach_box .bookList li",
            "name": ".rtList .bookNm",
            "author": ".rtList .condition .authorNm",
            "newest": "",
            "remark": ".rtList .bookIntro",
            "cover": ".bookImg img",
            "cover_attr": "data-src",
            "url": ".bookImg",
            "url_attr": "href"
        }
    },
    {
        "source_name": "笔趣阁(77hr.org)",
        "source_url": "http://www.77hr.org/",
        "book_name": "#info h1",
        "book_remark": "#intro p:eq(1)",
        "book_author": "#info p:eq(0) a",
        "book_cover": "#fmimg img",
        "book_menu": "#list dl dd:gt(8) a",
        "book_menu_attr": "href",
        "chapter_title": ".box_con .zhangjieming h1",
        "chapter_content_type": "1",
        "chapter_content": ".box_con .zhangjieTXT",
        "content_filter": [
            "LS0mZ3Q7Jmd0O++8iOacrOeroOacquWujO+8jOivt+eCueWHu+S4i+S4gOmhtee7p+e7remYheivu++8iQ==",
            "aHR0cC4raHRtbA==",
            "56yU6Laj6ZiBLivnrKwuK+eroC4rXG4iLCJcXChodHRwLitcXClcbg==",
            "MeenkuiusOS9j+mhtueCueWwj+ivtOe9ke+8mnjjgILmiYvmnLrniYjpmIXor7vnvZHlnYDvvJp4"
        ],
        "multi_page": true,
        "next_btn": ".box_con .zhangjieTXT .bottem a",
        "next_val": "下一页",
        "search_url": "http://www.77hr.org/search?searchkey=###keyword###",
        "search_result": {
            "limit": "5",
            "list": "#alistbox",
            "name": ".info .title h2 a",
            "author": ".info .title span",
            "newest": ".info .sys li a",
            "remark": ".info .intro",
            "cover": ".pic a img",
            "cover_attr": "src",
            "url": ".pic a",
            "url_attr": "href"
        }
    }
]

书源json字段解释

如上例子可以看到,书源格式为一个json数组[],每一个书源对应数组中的一个元素 {}

下面详细解释一下每个字段的含义
ps:本书源的元素全部使用 css选择器 或者说jquery选择器来识别。

source_name  书源名称,本插件的书源以书源名称为唯一标志,所以尽量不要使用太简单的名称,比如笔趣阁,就可以命名为 【笔趣阁(biquge.com)】
source_url  对应网站的网址
book_name  书籍首页(展示所有目录的页面)书名元素的css选择器
book_remark  书籍首页书籍简介元素的css选择器
book_author  书籍首页作者元素的css选择器
book_cover  书籍首页书籍封面元素的css选择器,定位到img标签
book_menu  书籍首页目录列表css选择器,定位到a标签(一般来说是a标签,当然不是的话,以实际为准)
book_menu_attr  目录列表中的每一个章节元素的链接所在属性,一般都是a标签,所以一般都是href属性
chapter_title  章节阅读页面,章节标题元素css选择器
chapter_content_type  章节阅读页面,章节内容获取类型 1、直接获取(拿到元素后执行.text()方法) 2、拿到元素之后只能从元素上拿到一个链接,需要额外请求这个链接获取
chapter_content  章节阅读页面,章节内容元素css选择器
chapter_content_attr  如果chapter_content_type为2,则需要该字段,含义为获取资源的链接取chapter_content节点的哪个属性,一般是href
content_filter  章节内容过滤规则,该字段为一个数组,可以填入多个过滤规则,支持正则表达式。为了避免部分特殊字符影响json格式,所以过滤关键字全部采用base64编码。阅读器会将能匹配上过滤规则的内容全部移除,一般用于过滤到页面上的垃圾文字。
multi_page  是否为多页模式,就是说是一章内容全部在一页还是一章分几页的,true表示分页,false表示不分页。分页的书源会增加很多次请求,如非必要尽量不要用。
next_btn  如果为分页模式,则需要此字段,含义为:下一页元素的css选择器
next_val  如果为分页模式,则需要此字段,含义为:下一页元素的文字内容,一般都是“下一页”
search_url  搜书链接,网站的搜索地址,搜索关键字替换词为###keyword###,比如塔读的搜索地址为https://tadu.com/search?query=###keyword###
search_result  搜索结果解析格式规范,具体如下
搜索结果解析格式
limit  数量限制,该书源每次搜索最多展示的结果数量,因为很多网站搜索结果很多,随便一搜就是几十上百的个结果,跟关键字关联较大的一般也就前几个,所以设置了该字段,默认为10
list  搜索结果列表css元素,必填。 比如 #searchList ul li
name  书名元素。 从每个单独的搜索结果开始定位层级,前面的层级不用填,比如完整的css选择器是#searchList ul li .title h1 ,那么此处只填.title h1 即可,以下字段同理
author  作者元素
newest  最新章节元素
remark  书籍简介元素
cover  封面元素
cover_attr  封面元素取链接的属性attr,一般为src
url  书籍链接元素
url_attr  书籍链接的属性attr,一般为href
url_type 搜索结果点击后跳转的类型。 可不填,不填默认使用类型1。 1、点击后直接跳到了完整目录页 2、点击跳转之后的页面不是目录页,但是路径替换部分文字之后就是目录页的情况  3、点击跳转之后的页面不是目录页,但是路径后追加指定文字之后就是目录页的情况  4、前三种无法实现的情况,需要跳转之后才能从页面上拿到目录页地址的情况。
url_replace_rules  路径替换规则。 url_type为2时必填,示例: book%%list 此例中表示将路径中的book替换为list,如果有多个替换规则,用&&连接。
url_suffix  路径后缀。 url_type为3时必填,示例: /MenuList  此例表示原路径为https://a.com/12345/index,最终会转换成https://a.com/12345/index/MenuList
url_redirect  搜索结果跳转后页面的目录页选择器。示例: #bookList 此例表示获取到的url跳转之后的页面内去获取#bookList对应的元素的属性(url_attr)即为目录页的地址
search_url字段拓展
搜索地址最开始可以定义url的属性,用两个大括号框起来,可选属性如下
302  搜索地址不是最终结果页的情况,而是经过了一层302跳转
gb2312  搜索地址的关键字使用的是gb2312编码来encode的情况
escape  搜索地址的关键字使用的是escape函数来encode的情况

示例   {{302}}{{gb2312}}https://www.trxs.cc/e/search/index.php?keyboard=###keyword###&show=title&classid=0

其他

博主开发的【摸鱼阅读】和【爬书神器】上线之后,收到了很多朋友的五星评分、积极评论,还收到了一小部分朋友的打赏,博主真的非常感谢大家的支持,为了回馈之前打赏过这两款插件的朋友,博主决定免费赠送在线阅读功能给以前打赏过的用户(任意金额都可以),打赏过的朋友,购买【在线阅读功能】后将本人utools账户界面截图、该在线阅读功能购买截图发送到我qq(842962681),博主会全额退款。打赏名单如下:
摸鱼阅读
image-1668073241076
image-1668073260303
image-1668073275178

爬书神器
image-1668073308431
image-1668073318259

常见问题

  1. 搜索不到书籍
    请检查网络情况,尝试一下在本机书源当中的各个网站是否能正常访问。
  2. 已购买在线支付功能,但是不久之后再使用发现又要购买
    这个是因为utools那边的改动导致的,明明还登录着utools账号,但是实际上登录状态已经失效了(简而言之就是utools的一个bug)。只需要退出重新登录即可,重新登录之后即可正常使用。请不要重复购买,重复购买者凭支付账单截图联系我退款。
  3. 购买功能后只能在当前机器使用么?
    在线阅读功能购买后是跟utools账号绑定的,只要登录了你的已购该功能的账号的机器,就都能使用该功能。只要utools对你账号登录设备没有限制,那这个功能也没有登录设备限制,理论上一次购买之后,你就可以在任意机器上使用该功能。
  4. 为什么无法添加书源
    有这种疑问的朋友,一般都是没搞清书源是啥样的,建议仔细阅读前文。再次提一下,暂不支持阅读3.0的书源哦。
  5. 怎么更新书源
    如果官方书源更新了,建议先在书源管理中直接删除全部书源,然后再重新输入官方书源的地址添加。
    如果不删除再添加的话,就只会把最新的官方书源中在本地还不存在的书源添加上去,但是如果之前本地已存在的书源有了一些改动(比如过滤规则)就不会更新到本地书源中了。

书源收集

官方书源持续更新中,大家有自己制作好的书源或者有不错的网站分享,都可以在下方评论区留言。好的书源我这边会收录到官方书源中,好的网站我会尽量制作成书源收录到官方书源。

当然如果有有能力的朋友自己制作整理了一套书源,并且上传到了服务器,也可以在评论区留下你的在线书源地址,给大家借鉴使用。

兄弟们,现在的书源有哪些不完善的,比如说有哪些正文垃圾内容没有过滤掉的,或者分章有问题的都可以提出来哈。还有大家有啥常用的觉得资源不错的网站,都在评论区留言哈。大家要多提供建议我才知道应该添加哪些网站的书源。

24

评论区