-
Notifications
You must be signed in to change notification settings - Fork 72
规则实战其一:知乎日报
知乎日报是知乎推出的一款拥有千万用户的资讯类客户端,每日提供来自知乎社区的精选问答,还有国内一流媒体的专栏特稿。
知乎日报有网页版和APP版,这里选择网站版,链接知乎日报,其规则最简单,列为实战篇其一。
需要准备的东西:网络(访问目标地址)、现代浏览器(edge、chrome、firefox)、亦搜(windows版为佳,可开启多个测试)。
规则编辑界面有基本规则
、发现规则
、搜索规则
、章节规则
、正文规则
五块可以伸缩的面板,我们按顺序来填。
作为实战其一,这里对规则做说明,介绍基本规则,后边实战不再赘述。
-
类型
选择图文视听一种,日报文字类,选择文字
-
名称
填知乎日报
或知乎日报网页
-
域名
用https://daily.zhihu.com
,注意结尾不用/
。 -
分组
凭喜好,比如资讯
、图文
、知乎
,等。相当于文章关键词。 -
作者
填自己大名或艺名,在下一尾虾
。 -
签名档
随意,只有编辑时可见,无实际用处,填入我是一尾自由的虾
。 -
用户代理字符串
按需填写。默认是macos chrome 的UA。 -
加载js内容
初学不必理会。它对整个规则生效,比如这里定义通用函数,方便其他规则编写。 -
登录地址
字面意思,填入链接,使用者点击右上角登录
按钮即可模拟用户状态和同步使用信息。 -
小饼干
,登录
后自动生成,也可以手动编辑。所有的分享功能都不会携带个人cookies,但是备份会记录。
以上,是基本规则。
-
首先要打开
启用
,发现才会生效。同样,关闭后将隐藏该规则。 -
地址
,直接填入/
,因为该站点只有一个内容,即根网页,/
是一个相对路径,相对域名内容,因此要注意域名。 -
列表
,应填入.wrap
(CSS)或//*[@class="wrap"]
(XPath),解释如下。这是第一个需要分析的规则。如果你还不理解,根据截图(包括下面发现其他规则也根据这张截图填写),STEP-BY-STEP按顺序来:
-
打开浏览器
-
键入
https://daily.zhihu.com
并回车访问。 -
按下
F12
打开开发者工具,切换至元素
(Elements
)栏。 -
找到一排并列的元素,这里是观察有
<div class="wrap">
并列,鼠标悬浮上方,可在网页看到对应元素有一个蒙版,确实是期待的结果。 -
使用CSS,类名前用
.
做标识符,即.wrap
。使用XPath,使用键盘上的xpath_class模板//*[@class=""]
,应写成//*[@class="wrap"]
。 -
在
元素
(Elements
)栏键盘按下CTRL+F
输入.wrap
或//*[@class="wrap"]
做验证。
-
完成列表规则后,可在
名称
写入text
或@js:result
,右上角测试规则,验证是否没有问题。 -
名称
填入text
,表示取文本内容,相似的还有html
、innerHtml
、outerHtml
,其差别可以自行测试和体会。 -
图片
填入img@src
。这是一个常用写法,含义为取img
标签的src
属性值,@
是APP内部标识符,将img@src
分割为2部分,前面是CSS规则,后面是属性名。 -
结果
填入a@href
。也是一个常用写法,含义为取a
标签的href
属性值。
以上,是发现规则,未列出的跳过。全都根据上面给出的截图来写。
该实战中目录页同正文页,写法更简单,也可作为一种定式。
-
章节列表
填body
,这是一个CSS规则,表示取body
节点,html中body只有一个,我们需要的部分一般都在body。 -
章节名称
填h2@text
,表示取h2
标签文字作为显示结果。 -
结果
填入@js:lastResult
或@js:baseUrl
,表示取当前页地址,作为正文页。
以上,是章节规则,未列出的跳过。
内容
写入.question@html
,含义是取class
为question
的元素的html内容,html是APP内部一个处理图文混排的方法,懒的分析元素都可以使用该写法。
测试界面右上角是发现测试,点击按钮自动测试规则,如图。
最终结果如下知乎日报.json
{
"id": "113781d0-8b65-44df-bdb6-7a437e29cf72",
"createTime": 1595034756401971,
"modifiedTime": 1595035414884371,
"author": "一尾虾",
"postScript": "我是一尾自由的虾",
"name": "知乎日报",
"host": "https://daily.zhihu.com",
"group": "资讯 图文 知乎",
"contentType": 1,
"sort": 0,
"useCryptoJS": false,
"loadJs": "",
"userAgent": "",
"enableDiscover": true,
"discoverUrl": "/",
"discoverItems": "",
"discoverList": ".wrap",
"discoverTags": "",
"discoverName": "text",
"discoverCover": "img@src",
"discoverAuthor": "",
"discoverChapter": "",
"discoverDescription": "",
"discoverResult": "a@href",
"enableSearch": false,
"searchUrl": "",
"searchItems": "",
"searchList": "",
"searchTags": "",
"searchName": "",
"searchCover": "",
"searchAuthor": "",
"searchChapter": "",
"searchDescription": "",
"searchResult": "",
"enableMultiRoads": false,
"chapterRoads": "",
"chapterRoadName": "",
"chapterUrl": "",
"chapterItems": "",
"chapterList": "body",
"chapterName": "h2@text",
"chapterCover": "",
"chapterLock": "",
"chapterTime": "",
"chapterResult": "@js:lastResult",
"contentUrl": "",
"contentItems": ".question@html",
"loginUrl": "",
"cookies": "",
"viewStyle": 0
}
三 规则实战 持续增加
-
规则实战其一:知乎日报 已完成
-
规则实战其二:17K小说网 已完成
-
规则实战其四:起点中文网 已完成
-
规则实战其六:不可能的世界APP 已完成