一、数据项设置页简介
1、说明
数据项用于定义从采集页面获取的各项信息,除[标题]、[缩略图]、[文章网址](即发布规则中的[文章网址])这三项数据可在列表设置页获取外,要采集发布其他信息,必须在此为其建立并设置数据项,[数据项设置页]见图示:
除[标题]、[缩略图]、[文章网址]外未设置[数据项采集规则]的数据项将不起作用,不被采集;
各数据项必须在 发布配置-发布项 中设置对应发布参数,否则将不起作用,不被采集;
数据项处理流程为:分析数据->字符解码->数据整理->字符解码->网址修正补全->伪原创->关键词检查->敏感词检查->去首尾空白->检查空值;
对一个数据项进行属性编辑后,需要点击图示1第8部分的保存按钮对其进行保存;
二、条目列表
1、说明
此处用于显示并增删采集规则中的全部数据项,见图示:
点击下方的加号按钮可以新增数据项,当勾选某个数据项时,可以点击减号按钮删除该数据;
[缩略图]、[标题]、[正文]、[文章网址]四个基本数据项不能被删除;
点击某个数据项时,可以在右侧的编辑区对其各项属性进行设置编辑;
三、数据项属性编辑区
1、数据项名称
此处用于对数据项的名称进行编辑,见图示:
[缩略图]、[标题]、[正文]、[文章网址]四个基本数据项的名称不能修改。
其中[文章网址]数据项的取值为列表规则中文章网址合成的结果。
[标题]数据项对应列表分析中的[文章标题]标记,默认取值为列表分析获取的文章标题。
[缩略图]数据项对应列表分析中的[缩略图]标记,默认取值为列表分析获取的缩略图。
此处设置数据项对应的整理规则组,见图示:
整理规则组可替换、过滤、深入处理数据项,整理规则组在采集配置窗口[数据整理]设置页中设置;
此处用于确定一个数据项的工作属性,见图示:
1、匹配多条
勾选此项后,将在对象网页中采集所有匹配[数据项采集规则]的内容,不选则只采集第一个匹配[数据项采集规则]的内容;
有多条匹配内容时,各条内容之间以[内容分隔]标记 “ #-0-# ” 分隔,可在整理组中对该标记进行深入处理;
在启用正文分页(采集方式、逻辑方式)时, [正文] 数据项通常需要勾选此项,以便匹配到全部分页的正文;
本项可配合 发布配置-回复 完成论坛回复、文章评论等功能,见相关主题;
注:从2.2版起,[内容分隔]标记在文章发布时,将被自动删除,如果需要在接口中使用它,应先用数据整理将其替换为其他字符串;
2、伪原创
勾选此项后,将对本数据项应用中间规则-伪原创模块的设置(见 中间配置-伪原创 );
3、字符解码
勾选此项后,将对数据项内容中的10进制、16进制字符和HTML转义字符做解码,包括“%XX”、“%uXXXX”、“\uXXXX”、“&#xXXXX;”、“&#XXXXX;” 等格式字符,和&、"等转义字符;
其中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)查看显示发布时间的代码如下:
2、设置本数据项[数据项采集规则]如下,请注意‘于’字后的空格:
3、通过测试可知,上面的[数据项采集规则]可以得到不只一个结果,但只有第一个才是有效的,因此本数据项不能选择[匹配多条内容];通过[数据项采集规则]分析出的项目内容已经是完整的结果,没有多余代码,因此本数据项不需要设置关联整理组,本数据项最终属性设置结果如图示:
五、参考范例
1、参考范例一(匹配单条内容)
以采集ET官方论坛‘ET2.0安装使用’版(网址http://bbs.zzcity.net/forumdisplay.php?fid=31)为例:
1、我们设立数据项[发布时间],在文章页面(网址http://bbs.zzcity.net/viewthread.php?tid=358702)查看显示发布时间的代码如下:
2、设置本数据项[数据项采集规则]如下,请注意‘于’字后的空格:
3、通过测试可知,上面的[数据项采集规则]可以得到不只一个结果,但只有第一个才是有效的,因此本数据项不能选择[匹配多条内容];通过[数据项采集规则]分析出的项目内容已经是完整的结果,没有多余代码,因此本数据项不需要设置关联整理组,本数据项最终属性设置结果如图示:
2、参考范例二(匹配多条内容)
以采集ET官方论坛‘ET2.0安装使用’版(网址http://bbs.zzcity.net/forumdisplay.php?fid=31)为例:
1、我们计划在数据项[正文]中,获取一个帖子中包含主题和回复在内的所有内容,查看文章页面(网址http://bbs.zzcity.net/viewthread.php?tid=363653)源代码后,我们发现,无论是主题还是回复,都有相似的代码结构,如下:
2、根据以上代码,可以看出,主题和回复的代码都是由“<div id="postmessage_XXXX" class="t_msgfont">”+内容+“</div>”组成,并且源代码中的其他部分都没有使用相同ID和CLASS属性的DIV标记,因此,我们设置本数据项的[数据项采集规则]如下,请注意由于“postmessage_”后跟的数字有变化,所以这里使用了变量标记,如下:
3、使用文章页面源代码对规则进行测试,上面的[数据项采集规则]可以得到包括主题和回复在内的多条发言内容;但是,当某些发言内容中本身含有div代码段时,由于我们以</div>为规则结尾,因此未能获取到完整的发言内容,所以我们继续寻找更适合的,与发言内容部分无冲突的特征结尾代码,并修改规则如下:
4、再次测试,能获取全部正确结果了。然后为本数据项选择[匹配多条内容];通过[数据项采集规则]分析出的各条内容包含了一些我们不需要的代码,因此为本数据项设置并关联整理组[正文整理],本数据项最终属性设置结果如图示8:
(图示8)
5、本范例演示了采集并发布带回复的论坛帖子的关键设置——匹配多条内容;在本例中,我们设置的[数据项采集规则]必须能匹配我们要获取的每一条内容,所以,要不断调整,测试时,除了主题的结果外,还必须检查是否匹配回复;如果我们的文章还有分页,那么我们还必须用分页的源代码来对它进行测试。
相关主题