Skip to content

规则实战其四:起点中文网

kaitl edited this page Jul 23, 2020 · 7 revisions

关于

起点中文网创建于2002年5月,是国内最大文学阅读与写作平台之一,是国内领先的原创文学门户网站,隶属于国内最大的数字内容综合平台——阅文集团旗下。

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

基本规则

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

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

  • 类型选择文字

  • 名称起点中文网

  • 域名https://www.qidian.com/,注意结尾不用/

  • 作者星落黎明

  • 登录地址字面意思,起点登陆链接,这里用的网页版登陆链接,填入https://passport.qidian.com/,使用者点击右上角登陆按钮即可模拟用户状态和同步使用信息。

发现规则

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

  • 地址,见地址栏所得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
}