一、数据项设置页简介

1、说明

数据项用于定义从采集页面获取的各项信息,除[标题]、[缩略图]、[文章网址](即发布规则中的[文章网址])这三项数据可在列表设置页获取外,要采集发布其他信息,必须在此为其建立并设置数据项,[数据项设置页]见图示:


 

除[标题]、[缩略图]、[文章网址]外未设置[数据项采集规则]的数据项将不起作用,不被采集;

各数据项必须在 发布配置-发布项 中设置对应发布参数,否则将不起作用,不被采集;

数据项处理流程为:分析数据->字符解码->数据整理->字符解码->网址修正补全->伪原创->关键词检查->敏感词检查->去首尾空白->检查空值;

 

对一个数据项进行属性编辑后,需要点击图示1第8部分的保存按钮对其进行保存;

 

二、条目列表

1、说明

此处用于显示并增删采集规则中的全部数据项,见图示:


 

点击下方的加号按钮可以新增数据项,当勾选某个数据项时,可以点击减号按钮删除该数据;

[缩略图]、[标题]、[正文]、[文章网址]四个基本数据项不能被删除;

点击某个数据项时,可以在右侧的编辑区对其各项属性进行设置编辑;

 

 

三、数据项属性编辑区

1、数据项名称

此处用于对数据项的名称进行编辑,见图示:


 

[缩略图]、[标题]、[正文]、[文章网址]四个基本数据项的名称不能修改。

其中[文章网址]数据项的取值为列表规则中文章网址合成的结果。

[标题]数据项对应列表分析中的[文章标题]标记,默认取值为列表分析获取的文章标题。

[缩略图]数据项对应列表分析中的[缩略图]标记,默认取值为列表分析获取的缩略图。

 

 

2、关联整理组

此处设置数据项对应的整理规则组,见图示:


 

整理规则组可替换过滤深入处理数据项,整理规则组在采集配置窗口[数据整理]设置页中设置;

 

 

3、属性选项

此处用于确定一个数据项的工作属性,见图示:


 

1、匹配多条

勾选此项后,将在对象网页中采集所有匹配[数据项采集规则]的内容,不选则只采集第一个匹配[数据项采集规则]的内容;

有多条匹配内容时,各条内容之间以[内容分隔]标记 “ #-0-# ” 分隔,可在整理组中对该标记进行深入处理;

在启用正文分页(采集方式、逻辑方式)时, [正文] 数据项通常需要勾选此项,以便匹配到全部分页的正文;

 

本项可配合 发布配置-回复 完成论坛回复、文章评论等功能,见相关主题;

 

注:从2.2版起,[内容分隔]标记在文章发布时,将被自动删除,如果需要在接口中使用它,应先用数据整理将其替换为其他字符串;

 

2、伪原创

勾选此项后,将对本数据项应用中间规则-伪原创模块的设置(见 中间配置-伪原创 );

 

3、字符解码

勾选此项后,将对数据项内容中的10进制、16进制字符和HTML转义字符做解码,包括“%XX”、“%uXXXX”、“\uXXXX”、“&#xXXXX;”、“&#XXXXX;” 等格式字符,和&、&quot等转义字符;
  其中XX和XXXX分别为字符的16进制数值,XXXXX为字符的10进制数值;
  例如:"%u4E2D%u56FD"、"\u4E2D\u56FD"、"中国"、"中国" 等解码后文字为"中国";

 

4、去首尾空白

勾选此项后,数据项内容的首尾位置各种空白字符,如空格、换行、制表符等,都会被删除;
  如果同时勾选了匹配多条内容属性,每一项匹配内容将分别去除首尾空白字符;

 

5、不允许空

勾选此项表示此数据项的内容不能为空值,如果为空值,则该篇文章采集失败;

注:若数据项内容为空白字符则不是空值,但使用去首尾空白功能导致的空值仍会进行空值判断;

6、包含文件

勾选此项后,当启用文件下载(见 采集配置-文件下载设置 )时,将在数据项中寻找符合预设条件的文件进行下载,这是进行文件下载的关键设置之一,通常用于从[正文]或其他数据项中获取图片或文件;

如果数据项包含图片或文件,请勾选本项以进行下载,此选项须和[文件下载设置页]设置结合使用,仅对[文件下载设置页]设置中已设定的文件类型或动态URL进行下载;

 

7、作为文件网址

勾选此项后,数据项的内容被视作文件网址,当启用文件下载时,将使用这些网址下载文件,这是进行文件下载的关键设置之二,通常用于设定独立的图片或文件类数据;

数据项的内容应为完整网址(如http://www.xxx.com/xxx.jpg)或相对网址(如/xxx/xxx.jpg 、../../xxx/xxx.jpg);

若同时勾选匹配多条选项,数据项匹配的多条网址将自动以换行分隔,这与一般情况下的以[内容分隔]标记分隔不同;

此选项须和[文件下载设置页]设置结合使用,仅对[文件下载设置页]设置中已设定的文件类型或动态URL进行下载;

注:[缩略图]数据项若要下载,必须勾选此项,同时,也应在 采集配置-文件下载设置 中选择启用下载,可参见采集规则多层范例组中‘淘宝 - 手机’规则;

 

8、指定扩展名

启用[作为下载文件网址]时,可使用本项设置;

对于无扩展名的文件网址,可在本项填写为其指定的文件扩展名;

 

9、有分页

启用[有分页]时,将从数据分页中采集当前数据项的内容;

数据项将从每一个数据分页中,使用数据项采集规则,单独获取内容,并按顺序和从数据项所属采集页中采集的内容合并,以[内容分隔]标记 “ #-0-# ” 分隔。

从数据分页获取内容时,仍受[匹配多条内容]属性影响。

 

注:在2.4版之前,仅正文数据项支持从分页中采集内容。从2.4版开始,除[缩略图]、[标题]、[文章网址]等三个基本数据项外,所有数据项都可以从分页中采集内容了。

在2.4版以前,是先将全部分页源代码依次合并后,再用数据项采集规则分析获取内容;2.4版开始,是先单独从每个分页源代码中用数据项采集规则分析获取内容后,再将获取的各个内容按顺序合并。因此,2.4版之前使用了正文分页功能的采集规则,在升级到2.4版后可能会存在兼容问题,需要调整。

 

 

 

四、数据项采集规则

1、说明

设立数据项时,[数据项采集规则]为必填项,如果不填写本项,该数据项不生效;本项用于从指定网页(在采集页设置页中设置)中分析出该数据项的值,见图示:


 

数据项[标题]、[缩略图]、[文章网址]如果在此处不做设置,将使用从[列表分析规则]中获取的值;

如果在本项中不使用 [项目内容] 标记和 [变量标记] 标记,则所设置的内容将作为该数据项的固定值,例如:设定数据项 “typeid”,[数据项采集规则]内容为“2”,那么在DZ5.5网站程序中,该数据项的作用是表示编号为2的主题分类;

点击 图标,可以对[数据项采集规则]进行测试;

 

2、标记区

[数据项采集规则]有两个可用标记,见图示6;

 

1、项目内容

标记代码为<%content%>,用于表示网页源码中该数据项的值,[项目内容]标记在规则中仅可使用一次,并不可和其他标记连接;

 

2、变量标记

标记代码为<%var%>,用于表示源码文本中不需要采集的、连续的、零到任意数量的不确定字符串,[变量标记]标记在规则中可以多次使用,不可和其他标记连接;

[变量标记]使用次数越多,会导致采集工作效率越低;

 

关于标记更多说明见相关主题 ET内部运算标记注解

 

 

3、参考范例

以采集ET官方论坛‘ET2.0安装使用’版(网址http://bbs.zzcity.net/forumdisplay.php?fid=31)为例:

 

1、我们设立数据项[发布时间],在文章页面(网址http://bbs.zzcity.net/viewthread.php?tid=358702)查看显示发布时间的代码如下:

发表于 2008-7-23 15:05&nbsp;

 

2、设置本数据项[数据项采集规则]如下,请注意‘于’字后的空格:

发表于 <%content%>&nbsp;

 

3、通过测试可知,上面的[数据项采集规则]可以得到不只一个结果,但只有第一个才是有效的,因此本数据项不能选择[匹配多条内容];通过[数据项采集规则]分析出的项目内容已经是完整的结果,没有多余代码,因此本数据项不需要设置关联整理组,本数据项最终属性设置结果如图示:


 

 

五、参考范例

1、参考范例一(匹配单条内容)

以采集ET官方论坛‘ET2.0安装使用’版(网址http://bbs.zzcity.net/forumdisplay.php?fid=31)为例:

 

1、我们设立数据项[发布时间],在文章页面(网址http://bbs.zzcity.net/viewthread.php?tid=358702)查看显示发布时间的代码如下:

发表于 2008-7-23 15:05&nbsp;

 

2、设置本数据项[数据项采集规则]如下,请注意‘于’字后的空格:

发表于 <%content%>&nbsp;

 

3、通过测试可知,上面的[数据项采集规则]可以得到不只一个结果,但只有第一个才是有效的,因此本数据项不能选择[匹配多条内容];通过[数据项采集规则]分析出的项目内容已经是完整的结果,没有多余代码,因此本数据项不需要设置关联整理组,本数据项最终属性设置结果如图示:


 

 

2、参考范例二(匹配多条内容)

以采集ET官方论坛‘ET2.0安装使用’版(网址http://bbs.zzcity.net/forumdisplay.php?fid=31)为例:

 

1、我们计划在数据项[正文]中,获取一个帖子中包含主题和回复在内的所有内容,查看文章页面(网址http://bbs.zzcity.net/viewthread.php?tid=363653)源代码后,我们发现,无论是主题还是回复,都有相似的代码结构,如下:

<div id="postmessage_377023" class="t_msgfont">目前提供的所有接口都不需要使用UBB格式,都不应在发布配置中启用该选项。<br /> 我们的接口说明、和发布配置范例中也都未做出使用该选项的提示、例子。<br /> <br /> 请使用我们提供的接口发布的,不要选择“使用UBB代码格式”和“保留换行符”选项。<br /> <br /> 这两个选项是给那些自行开发接口的用户使用的,或者使用模拟发布时有需要的用户使用。<br /> <br /> [<i> 本帖最后由 技术支持008 于 2008-8-4 16:12 编辑 </i>]</div>

 

<div id="postmessage_377100" class="t_msgfont">为什么不增加ubb<br /> <br /> dz 用ubb不是很好啊<br /> <br /> 这样太不方便了</div>

 

<div id="postmessage_377115" class="t_msgfont">不存在不方便,因为您采集的源码都不可能是UBB格式的,UBB仅是DZ等的内部简化格式,在网页上显示的始终是HTML格式代码,您所采集的网页也都是HTML代码,将HTML转为UBB会丢失很多HTML格式信息,纯属画蛇填足,如果您尚不了解UBB和HTML之间的关系,请搜索查阅相关资料。</div>

 

2、根据以上代码,可以看出,主题和回复的代码都是由“<div id="postmessage_XXXX" class="t_msgfont">”+内容+“</div>”组成,并且源代码中的其他部分都没有使用相同ID和CLASS属性的DIV标记,因此,我们设置本数据项的[数据项采集规则]如下,请注意由于“postmessage_”后跟的数字有变化,所以这里使用了变量标记,如下:

<div id="postmessage_<%var%>" class="t_msgfont"><%content%></div>

 

3、使用文章页面源代码对规则进行测试,上面的[数据项采集规则]可以得到包括主题和回复在内的多条发言内容;但是,当某些发言内容中本身含有div代码段时,由于我们以</div>为规则结尾,因此未能获取到完整的发言内容,所以我们继续寻找更适合的,与发言内容部分无冲突的特征结尾代码,并修改规则如下:

 

<div id="postmessage_<%var%>" class="t_msgfont"><%content%><td class="postauthor">

 

4、再次测试,能获取全部正确结果了。然后为本数据项选择[匹配多条内容];通过[数据项采集规则]分析出的各条内容包含了一些我们不需要的代码,因此为本数据项设置并关联整理组[正文整理],本数据项最终属性设置结果如图示8:


(图示8)

 

5、本范例演示了采集并发布带回复的论坛帖子的关键设置——匹配多条内容;在本例中,我们设置的[数据项采集规则]必须能匹配我们要获取的每一条内容,所以,要不断调整,测试时,除了主题的结果外,还必须检查是否匹配回复;如果我们的文章还有分页,那么我们还必须用分页的源代码来对它进行测试。

 

 

相关主题

1、数据项采集处理顺序

2、ET内部运算标记注解