# 内容提取器

# 常量提取器

作用

常量提取器的作用就是无论输入数据是什么,直接将配置参数作为输出数据输出。

配置参数

常量提取器只有一个配置参数,常量提取器将此参数的配置值设置为输出数据
第二个匹配参数不起作用
  • 配置参数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
输入数据 输入数据
输出数据 输入数据
Last Updated: 1/13/2020, 9:58:22 PM