# 内容提取器
# 常量提取器
作用
常量提取器的作用就是无论输入数据是什么,直接将配置参数作为输出数据输出。
配置参数
常量提取器只有一个配置参数,常量提取器将此参数的配置值设置为输出数据 第二个匹配参数不起作用
- 配置参数1 :任意值
- 配置参数2 :无
数据处理示例
输入数据 ========》常量提取器 =======》输出数据
配置代码 | CONSTANT |
---|---|
配置参数1 | 易水 |
配置参数2 | 无 |
输入数据 | 这是一段测试参数 19235 这是一段测试参数 |
输出数据 | 易水 |
配置示例代码如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("易水");
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.CONSTANT);
fieldExtractRule.setSort(1);
# 截取提取器
作用
根据配置参数截取输入数据里的相对应的信息
配置参数
截取提取器有两个配置参数,第一个参数为开始截取的位置,第二个参数为结束截取的位置
- 配置参数1 :开始截取的位置
- 配置参数2 :结束截取的位置
数据处理示例
输入数据 ========》截取提取器 =======》输出数据
配置代码 | SUBSTR |
---|---|
配置参数1 | 1 |
配置参数2 | 3 |
输入数据 | 截取提取器 |
输出数据 | 截取提 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("1");
fieldExtractRule.setParam2("3");
fieldExtractRule.setRule(Rule.SUBSTR);
fieldExtractRule.setSort(1);
# 数字提取器
作用
提取出输入数据里的数字信息
配置参数
数字提取器 不需要任何参数,配置参数在数字提取器中不起任何作用
- 配置参数1 :无
- 配置参数2 :无
数据处理示例
输入数据 ========》数字提取器 =======》输出数据
配置代码 | NUM |
---|---|
配置参数1 | 无 |
配置参数2 | 无 |
输入数据 | <div class="item">企业版售前及售后使用咨询:4006060201</div>| |
输出数据 | 4006060201 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1(null);
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.NUM);
fieldExtractRule.setSort(1);
# 数组提取器
作用
根据第一个参数将输入数据分割为数组,然后再根据第二个参数获取数组的第几个元素
配置参数
数组提取器有两个配置参数,第一个参数为分隔符,如果为空则使用系统默认分隔符
[@<yishui>@]
,第二个参数表示取数组的第几个元素,数组序号从1开始
- 配置参数1 :分隔符,如果为空则使用默认分隔符
[@<yishui>@]
- 配置参数2 :取数组的第几个元素,数组序号从1开始
数据处理示例
输入数据 ========》数组提取器 =======》输出数据
配置代码 | ARRAY |
---|---|
配置参数1 | [@<yishui>@] |
配置参数2 | 2 |
输入数据 | 1[@<yishui>@]3[@<yishui>@]2 |
输出数据 | 3 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("[@<yishui>@]");
fieldExtractRule.setParam2("2");
fieldExtractRule.setRule(Rule.ARRAY);
fieldExtractRule.setSort(1);
作用
根据配置参数将输入数据里的某些数据替换为相对应的目标信息
# 替换提取器
配置参数
替换提取器有两个配置参数,第一个参数支持普通的文本字符,也只支持正则表达式,第二个参数为被替换后的目标数据
- 配置参数1 :普通的文本字符或支持正则表达式
- 配置参数2 :无目标数据
数据处理示例
输入数据 ========》替换提取器 =======》输出数据
配置代码 | REPLACE |
---|---|
配置参数1 | 原文 |
配置参数2 | 替换 |
输入数据 | 原文提取器 |
输出数据 | 替换提取器 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("原文");
fieldExtractRule.setParam2("替换");
fieldExtractRule.setRule(Rule.REPLACE);
fieldExtractRule.setSort(1);
# 移除提取器
作用
根据配置参数去除输入数据里的相对应的信息
配置参数
移除提取器只有一个配置参数,它支持普通的文本字符,也只支持正则表达式
- 配置参数1 :普通的文本字符或支持正则表达式
- 配置参数2 :无
数据处理示例
输入数据 ========》移除提取器 =======》输出数据
配置代码 | REMOVE |
---|---|
配置参数1 | 原文 |
配置参数2 | 无 |
输入数据 | 原文提取器 |
输出数据 | 提取器 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("原文");
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.REMOVE);
fieldExtractRule.setSort(1);
# 邮箱提取器
作用
提取出输入数据里的邮箱信息
配置参数
原文提取器 不需要任何参数,配置参数在邮箱提取器中不起任何作用
- 配置参数1 :无
- 配置参数2 :无
数据处理示例
输入数据 ========》邮箱提取器 =======》输出数据
配置代码 | EMAIL |
---|---|
配置参数1 | 无 |
配置参数2 | 无 |
输入数据 | <a href="mailto: git@oschina.cn"><i class="iconfont icon-ic-mail"></i><span id="git-footer-email">git@oschina.cn</span></a> |
输出数据 | git@oschina.cn |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1(null);
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.EMAIL);
fieldExtractRule.setSort(1);
# 域名提取器
作用
将输入信息中所有的域名提取出来
配置参数
域名提取器没有参数,配置参数对其无效
- 配置参数1 :无
- 配置参数2 :无
数据处理示例
输入数据 ========》域名提取器 =======》输出数据
配置代码 | DOMAIN |
---|---|
配置参数1 | |
配置参数2 | |
输入数据 | 截取https://gitee.com/zhiyubujian/wind-bell提取器 |
输出数据 | gitee.com |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1(null);
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.DOMAIN);
fieldExtractRule.setSort(1);
# 原文提取器
作用
原文提取器 的作用是对数据不进行任何处理,直接将输入数据进行输出,
配置参数
原文提取器 不需要任何参数,配置参数在原文提取器中不起任何作用
- 配置参数1 :无
- 配置参数2 :无
数据处理示例
输入数据 ========》原文提取器 =======》输出数据
配置代码 | ALL |
---|---|
配置参数1 | 无 |
配置参数2 | 无 |
输入数据 | <div class="header-row"><h1 class="header-title">原文提取器</h1></div> |
输出数据 | <div class="header-row"><h1 class="header-title">原文提取器</h1></div> |
配置示例为
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1(null);
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.ALL);
fieldExtractRule.setSort(1);
# 占位替换器
作用
根据配置参数将输入参数里的系统占位符
[@<yishui>@]
替换成相对应的值
配置参数
占位替换器只有一个参数,第一个参数就是 需要将系统占位符
[@<yishui>@]
替换后的出现值,第二个参数不起作用
- 配置参数1 :将系统占位符
[@<yishui>@]
替换后的出现值 - 配置参数2 :无
数据处理示例
输入数据 ========》占位替换器 =======》输出数据
配置代码 | SYSTEM |
---|---|
配置参数1 | , |
配置参数2 | `` |
输入数据 | asasas[@<yishui>@]舒服点 |
输出数据 | asasas,舒服点 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1(",");
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.SYSTEM);
fieldExtractRule.setSort(1);
# 正则提取器
作用
正则提取器的作用是根据 正则表达式 从输入数据里提取出符合要求的信息
配置参数
正则提取器只有一个配置参数,其值为正则表达式,第二个参数不起作用
- 配置参数1 :正则表达式
- 配置参数2 :无
对于正则表达式不熟悉的同学可以参加 菜鸟教程-正则表达式 (opens new window)
数据处理示例
输入数据 ========》正则提取器 =======》输出数据
配置代码 | REGEX |
---|---|
配置参数1 | \d+ |
配置参数2 | 无 |
输入数据 | 这是一段测试参数 19235 这是一段测试参数 |
输出数据 | 19235 |
配置正则提取器的示例代码如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("正则表达式");
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.REGEX);
fieldExtractRule.setSort(1);
# 中文提取器
作用
提取出输入数据里的中文信息
配置参数
原文提取器 不需要任何参数,配置参数在中文提取器中不起任何作用
- 配置参数1 :无
- 配置参数2 :无
数据处理示例
输入数据 ========》中文提取器 =======》输出数据
配置代码 | CHN |
---|---|
配置参数1 | 无 |
配置参数2 | 无 |
输入数据 | <div class="header-row"><h1 class="header-title">原文提取器</h1></div> |
输出数据 | 原文提取器 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1(null);
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.CHN);
fieldExtractRule.setSort(1);
# CSS提取器
作用
根据css选择器提取从输入数据里提取出符合要求的数据
配置参数
css提取器主要有两个参数,第一个参数为 css选择器表达式 ,css选择器主要此参数提取数据 第二个参数为选填参数,若没有第二个参数,css提取器会输出根据第一个参数提取出来外部html文本 如有第二个参数,会继续根据第二个参数提取出对应的属性的值。
对于CSS选择器不熟悉的同学可以参见 菜鸟教程-css选择器 (opens new window)
- 第一个参数:必填,为 css选择器表达式
- 第二个参数:选填,为 html片段中属性的名字
数据处理示例
输入数据 ========》CSS提取器 =======》输出数据
示例1
配置代码 | CSS |
---|---|
配置参数1 | h1.header-title |
配置参数2 | 无 |
输入数据 | <div class="header-row"><h1 class="header-title" title="测试">原文提取器</h1></div> |
输出数据 | <h1 class="header-title">原文提取器</h1> |
示例2
配置代码 | CSS |
---|---|
配置参数1 | h1.header-title |
配置参数2 | title |
输入数据 | <div class="header-row"><h1 class="header-title" title="测试">原文提取器</h1></div> |
输出数据 | 测试 |
示例代码如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("CSS选择器");
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.CSS);
fieldExtractRule.setSort(1);
# CSS文本提取器
作用
根据css选择器提取出目标的内部文本。
配置参数
css提取器只有一个参数,第一个参数为 css选择器表达式 ,css选择器主要此参数提取数据,输出器内部文本。第二个参数不起作用
对于CSS选择器不熟悉的同学可以参见 菜鸟教程-css选择器 (opens new window)
注意与CSS提取器的区别在于,css提取器默认输出外部的html,但是css文本提取器输出的是内部文本
- 第一个参数:必填,为 css选择器表达式
- 第二个参数:无
数据处理示例
输入数据 ========》CSS文本提取器 =======》输出数据
配置代码 | TEXT |
---|---|
配置参数1 | h1.header-title |
配置参数2 | 无 |
输入数据 | <div class="header-row"><h1 class="header-title" title="测试">CSS文本提取器</h1></div> |
输出数据 | CSS文本提取器 |
# XPATH提取器
作用
根据配置参数从输入数据里提取出相对应的数据
配置参数
移除提取器器只有一个配置参数,为 XPATH 表达式,第二个配置参数不起作用
对应PATH表达式不熟悉的同学请参见 菜鸟教程-XPATH教程 (opens new window)
- 配置参数1 :XPATH 表达式
- 配置参数2 :无
数据处理示例
输入数据 ========》XPATH提取器 =======》输出数据
配置代码 | XPATH |
---|---|
配置参数1 | //p[class='intro']/text() |
配置参数2 | 无 |
输入数据 | <p class="intro">XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。</p> |
输出数据 | XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 |
配置示例如下:
FieldExtractRule fieldExtractRule=new FieldExtractRule();
fieldExtractRule.setParam1("//p[class='intro']/text()");
fieldExtractRule.setParam2(null);
fieldExtractRule.setRule(Rule.XPATH);
fieldExtractRule.setSort(1);
# 脚本提取器
脚本提取器可以使用js脚本来从传入的参数中提取出所有需要的数据,与其他的提取方式相比,脚本提取器使用方式更加理货,功能也更加强大。
作用
根据配置脚本参数从输入数据里提取出相对应的数据,目前仅支持js脚本
配置参数
脚本提取器只有一个配置参数,必填,为js函数,必须有一个名字为 extractor 的函数
- 配置参数1 :js函数,必须有一个名字为 extractor 的函数
- 配置参数2 :无
数据处理示例
输入数据 ========》脚本提取器 =======》输出数据
配置代码 | SCRIPT |
---|---|
配置参数1 | function extractor (input) { return inout;} |
配置参数2 | 无 |
输入数据 | 输入数据 |
输出数据 | 输入数据 |