『今日热榜』自定义节点提取规则

提取规则需包含下列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,如果是数组用下标,多级之间用|分隔。直接放张图,一目了然。

图片