Skip to content

规则实战其七:若看小说

mabdc edited this page Jul 24, 2020 · 1 revision

关于

若看小说本质就是小说采集站,自述如下:

若看小说所有小说内容都只是爬取远程URL地址,不参与真实数据存放!

若看小说是一个架设在美国的小说网站,志在美国传播大陆文化,促进两地文化交流。

若看小说所有小说都是网络爬虫从搜索引擎获取,非本站上传,本站不承担一切与版权相关纠纷。

Copyright © 2020 若看小说 All Rights Reserved.

需要准备的东西:网络(访问目标地址)、现代浏览器(edge、chrome、firefox)、亦搜(windows版为佳,可开启多个测试)。

基本规则

规则编辑界面有基本规则发现规则搜索规则章节规则正文规则五块可以伸缩的面板,我们按顺序来填。

作为实战其一,这里对规则做说明,介绍基本规则,后边实战不再赘述。

  • 类型选择文字

  • 名称若看文学

  • 域名https://www.ruokan.net,注意结尾不用/

  • 作者一尾虾

发现规则

  • 首先要打开启用,发现才会生效。同样,关闭后将隐藏该规则。

todo

  • 地址,见地址栏所得https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page=1,部分参数可省略,将页码替换成$page,最终填入全部::https://www.qidian.com/all?&page=$page,其他的也一样。

  • 列表,应填入.all-book-list > div > ul > li,解释如下。这是第一个需要分析的规则。如果你还不理解,根据截图(包括下面发现其他规则也根据这张截图填写),STEP-BY-STEP按顺序来:

起点发现列表

  1. 打开浏览器

  2. 键入https://www.qidian.com/all?page=1并回车访问。

  3. 按下F12打开开发者工具,切换至元素(Elements)栏。

  4. 找到一排并列的元素,这里是观察有 <li data-rid="1">

  5. 并列,鼠标悬浮上方,可在网页看到对应元素有一个蒙版,确实是期待的结果。

  6. 使用CSS,即.all-book-list > div > ul > li

  7. 元素(Elements)栏键盘按下CTRL+F输入.all-book-list > div > ul > li做验证。

  • 完成列表规则后,可在名称写入h4@text,右上角测试规则,验证是否没有问题。
  • 名称填入h4@text
  • 作者填入.name@text
  • 标签填入.go-sub-type@text
  • 简介填入.intro@text
  • 图片填入https:{{.book-img-box > a > img@src}}
  • 结果填入h4 [data-bid]@data-bid

以上,是发现规则,未列出的跳过。全都根据上面给出的截图来写。

章节规则

该实战中目录页同正文页,写法更简单,也可作为一种定式。

  • 地址https://druid.if.qidian.com/argus/api/v1/chapterlist/chapterlist?bookId=$result

  • 章节列表@js: ((bid)=>{ var $=JSON.parse(result) $.Data.Chapters.shift() return $.Data.Chapters.map(c=>{ var n=c.N if(c.V!=0){ n="🔒"+n } t=new Date(c.DisplayTime).toString() a=https://vipreader.qidian.com/chapter/${bid}/${c.C}` return {n,a} }) })(lastResult);。`

  • 章节名称$.n

  • 结果填入$.a

以上,是章节规则,未列出的跳过。

正文规则

内容写入.read-content@html,含义是取class.read-content的元素的html内容,html是APP内部一个处理图文混排的方法,懒的分析元素都可以使用该写法。

测试

测试界面右上角是发现测试,点击按钮自动测试规则,如图。搜索和发现一样,就不再多说,区别就是把要搜的关键词改为$keyword

结果

最终结果如下

{
	"id": "1751df3a-d7f7-4e3c-b3fa-3c274f172692",
	"createTime": 1595502074239863,
	"modifiedTime": 1595508770071218,
	"author": "星落黎明",
	"postScript": "",
	"name": "起点中文网",
	"host": "https://www.qidian.com",
	"group": "",
	"contentType": 1,
	"sort": 0,
	"useCryptoJS": false,
	"loadJs": "",
	"userAgent": "",
	"enableDiscover": true,
	"discoverUrl": "男生::全部::https://www.qidian.com/all?page=$page\n男生::玄幻::https://www.qidian.com/all?chanId=21&page=$page\n男生::奇幻::https://www.qidian.com/all?chanId=1&page=$page\n男生::武侠::https://www.qidian.com/all?chanId=2&page=$page\n男生::仙侠::https://www.qidian.com/all?chanId=22&page=$page\n男生::都市::https://www.qidian.com/all?chanId=4&page=$page\n男生::现实::https://www.qidian.com/all?chanId=15&page=$page\n男生::军事::https://www.qidian.com/all?chanId=6&page=$page\n男生::历史::https://www.qidian.com/all?chanId=5&page=$page\n男生::游戏::https://www.qidian.com/all?chanId=7&page=$page\n男生::体育::https://www.qidian.com/all?chanId=8&page=$page\n男生::科幻::https://www.qidian.com/all?chanId=9&page=$page\n男生::悬疑::https://www.qidian.com/all?chanId=10&page=$page\n男生::短篇::https://www.qidian.com/all?chanId=20076&page=$page\n男生::轻小说::https://www.qidian.com/all?chanId=12&page=$page\n\n女生::全部::https://www.qidian.com/mm/all&page=$page\n女生::短篇::https://www.qidian.com/mm/all?chanId=30083&page=$page\n女生::轻小说::https://www.qidian.com/mm/all?chanId=87&page=$page\n女生::古代言情::https://www.qidian.com/mm/all?chanId=80&page=$page\n女生::仙侠奇缘::https://www.qidian.com/mm/all?chanId=81&page=$page\n女生::现代言情::https://www.qidian.com/mm/all?chanId=82&page=$page\n女生::浪漫青春::https://www.qidian.com/mm/all?chanId=83&page=$page\n女生::玄幻言情::https://www.qidian.com/mm/all?chanId=84&page=$page\n女生::悬疑推理::https://www.qidian.com/mm/all?chanId=85&page=$page\n女生::科幻空间::https://www.qidian.com/mm/all?chanId=86&page=$page\n女生::游戏竞技::https://www.qidian.com/mm/all?chanId=88&page=$page\n女生::现实生活::https://www.qidian.com/mm/all?chanId=30120&page=$page\n\n出版::全部::https://www.qidian.com/all_pub?page=$page\n出版::小说::https://www.qidian.com/all_pub?chanId=13100&page=$page\n出版::文学::https://www.qidian.com/all_pub?chanId=14100&page=$page\n出版::历史::https://www.qidian.com/all_pub?chanId=14400&page=$page\n出版::传记::https://www.qidian.com/all_pub?chanId=14500&page=$page\n出版::青春文学::https://www.qidian.com/all_pub?chanId=14300&page=$page\n出版::两性关系::https://www.qidian.com/all_pub?chanId=13700&page=$page",
	"discoverItems": "",
	"discoverList": ".all-book-list > div > ul > li",
	"discoverTags": ".go-sub-type@text",
	"discoverName": "h4@text",
	"discoverCover": "https:{{.book-img-box > a > img@src}}",
	"discoverAuthor": ".name@text",
	"discoverChapter": "",
	"discoverDescription": ".intro@text",
	"discoverResult": "h4 [data-bid]@data-bid",
	"enableSearch": true,
	"searchUrl": "https://www.qidian.com/search?kw=$keyword",
	"searchItems": "",
	"searchList": ".res-book-item",
	"searchTags": "//div[3]/div/p[1]/span/text()&&//div[2]/p[1]/a[2]/text()&&//div[2]/p[1]/span/text()",
	"searchName": "h4@text",
	"searchCover": "https:{{.book-img-box > a > img@src}}",
	"searchAuthor": ".name@text",
	"searchChapter": "",
	"searchDescription": ".intro@text",
	"searchResult": "h4 [data-bid]@data-bid",
	"enableMultiRoads": false,
	"chapterRoads": "",
	"chapterRoadName": "",
	"chapterUrl": "https://druid.if.qidian.com/argus/api/v1/chapterlist/chapterlist?bookId=$result",
	"chapterItems": "",
	"chapterList": "@js:\n((bid)=>{\n    var $=JSON.parse(result)\n    $.Data.Chapters.shift()\n    return $.Data.Chapters.map(c=>{\n        var n=c.N\n        if(c.V!=0){\n            n=\"🔒\"+n\n        }\n        t=new Date(c.DisplayTime).toString()\n        a=`https://vipreader.qidian.com/chapter/${bid}/${c.C}`\n        return {n,a}\n    })\n})(lastResult);",
	"chapterName": "$.n",
	"chapterCover": "",
	"chapterLock": "",
	"chapterTime": "",
	"chapterResult": "$.a",
	"contentUrl": "",
	"contentItems": ".read-content@html",
	"loginUrl": "https://passport.qidian.com/",
	"cookies": "",
	"viewStyle": 0
}