This repository has been archived by the owner on Apr 10, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
2.x 解析规则
Xian Dan edited this page Dec 31, 2019
·
1 revision
解析规则文件在main/resources/rule.json
,基于XPath,支持本地文件和网络文件,配置中默认使用网络文件,如果修改了解析规则,还需要在配置文件将rule.json.uri
修改到你的文件路径
{
//源站名称 解析时会根据名称获取规则,必须唯一
"site": "种子搜",
//该源站是否需要代理才能访问
"proxy": false,
//Item容器XPath
"group": "//table[@class='table table-bordered table-striped']",
//磁力链XPath
"magnet": "./tbody/tr[1]/td/div/h4/a/@href",
//显示名称XPath
"name": "./tbody/tr[1]/td/div/h4/a",
//文件大小XPath
"size": "./tbody/tr/td[2]/strong",
//创建时间XPath
"date": "./tbody/tr/td[1]/strong",
//人气热度XPath
"hot": "./tbody/tr[2]/td[3]/strong",
//源站首页
"url": "https://www.zhongzilou.com",
//源站搜索路径 %s=关键字 %d=页码
"paths": {
//默认排序
"preset": "/list/%s/%d",
//时间排序
"time": "/list/%s/%d",
//大小排序
"size": "/list_length/%s/%d",
//人气排序
"hot": "/list_click/%s/%d"
},
//详情页信息(可选,如果为null则不会显示和详情页相关的按钮) 2.1.1后新增
"detail": {
//文件列表Item XPath
"files": "//*[@id=\"wrapp\"]/div[2]/div/div/div[3]/div[1]/div[2]/div[2]/select/option"
}
}
group
表示每个Item的容器元素,选中列表其中一个Item,右键复制XPath,示例中选中的是第5个,复制出来的XPath是//*[@id="wall"]/div[2]/div[5]
,把索引去掉并转义,所以最终是//*[@id=\"wall\"]/div[2]/div
在浏览器控制台用$x("//*[@id=\"wall\"]/div[2]/div")
测试,打印出列表说明XPath正确
以name为例,选中包含名称的元素,复制出来的XPath是这样//*[@id="wall"]/div[2]/div[5]/div[1]/h3/a
,因为每个属性都是在group下查找的,所以要把group的部分去掉在前面加.
,name的XPath应该是./div[1]/h3/a