『今日热榜』自定义节点提取规则
提取规则需包含下列10个字段,大家可以复制指定的模板修改下即可,JSON数据只需要对应下提取对象即可。
字段说明
-
type 必填 类型 目前仅支持match(正则匹配)和json(JSON提取)
-
url 必填 采集地址
-
container 必填 采集内容区域
-
item_container 必填 单个记录区域
-
item_title 必填 标题
-
item_description 可为空 简介
-
item_thumbnail 可为空 缩略图
-
item_url 可为空 地址,为空的话地址格式化必填
-
item_url_format 可为空 地址格式化
-
item_extra 可为空 附加信息,可以提供点击次数,用户名等信息
item_url_format表示匹配到的item_url如果不是正确的地址,可以通过format矫正;支持{{item_title}}、{{item_description}}、{{item_thumbnail}}、{{item_url}}、{{item_extra}}
比如item_url获取的地址为相对地址,可以补齐:item_url_format="https://s.weibo.com{{item_url}}";
常用正则规则
[\s\S]+? 非贪婪匹配任意字符
\s+? 匹配任意空白字符
\d+ 匹配数字
正则匹配(match)
以微博热搜举例:
type="match"
url="https://s.weibo.com/top/summary?cate=realtimehot"
container="#
([\s\S]+?)#i"item_container="#<tr.+?class=\"\">\s+?<td.+?class=\"td-\d+.+?ranktop\">([\s\S]+?)#i"
item_title="#<a[^>]+?>([\s\S]+?)#i"
item_description=""
item_thumbnail=""
item_url="#href=\"([^\"]+?)\"#i"
item_url_format="https://s.weibo.com{{item_url}}"
item_extra="#([\s\S]+?)#i"
type值为match,表示网页匹配;
url指定采集地址;
container指定采集区域正则规则;
item_container表示在container匹配到的内容里循环匹配每一条记录;
item_title,item_description,item_thumbnail,item_url,item_extra 表示在item_container匹配到的内容里面提取指定内容;
item_url_format指定地址补齐;
JSON提取(JSON)
JSON 数据提取以苹果提供的接口举例:
type="json"
url="https://rss.itunes.apple.com/api/v1/cn/ios-apps/top-free/all/10/explicit.json"
container="feed|results"
item_title="name"
item_description="artistName"
item_thumbnail="artworkUrl100"
item_url="id"
item_url_format="https://itunes.apple.com/cn/app/id{{item_url}}?mt=8"
item_extra="genres|0|name"
JSON规则大家可以先到https://tool.lu/json等其他网站美化一下数据,只需要绑定对应获取字段即可,如果是对象直接用对象key,如果是数组用下标,多级之间用|分隔。直接放张图,一目了然。

