1 产品简介
DM视采网站采集器是一款可视化的数据挖掘软件,它可用于网站采集、论坛采集、文章采集、博客采集、dedecms采集、动易采集、新云采集、论坛发帖、论坛顶贴等。
2 规则
规则是用来定义数据采集的单元(数据字段)。如标题字段、链接字段等。并且描述这些字段是如何处理的。不同的单元规则是由不同的模块定义,并由该模块执行。
这些定义和处理单元的模块叫做设计器。系统包含有以下几种设计器,并且可以动态新增或删除这些设计器。
1) 网页设计器
采集网页上的数据。
2) 单元过滤器
过滤或替换单元中的字符。
3) 单元包装器
合并单元数据、附加字符。
4) csv生成器
将采集到的数据以csv文件的格式提交到用户网站,由用户网站读取csv数据,发布到用户网站里。
5) 内容发布器
将采集到的数据以模拟用户的方式,发布到用户的网站里。
6) 论坛发布器
将采集到的数据以模拟用户的方式,发布到用户的论坛里。
具体说明请参考相应的章节。
2.1 列表
规则列表显示该用户保存在系统里的规则文件。用户可以选择一个规则进行删除,修改以及运行。
点击规则->列表
进入规则列表页面
E:修改规则,可以修改规则的名称和类别。
D:删除该条规则。
R:立即运行规则。
2.2 新建
用户采集新的数据时,用户需要定义一条规则,以告诉系统怎样抽取用户需要的数据。规则定义是通过不同的设计器进行的定义的。一般是通过网页设计器定义一个起始网页以及采集的单元。然后再选择需要的设计器定义其它的处理。
2.2.1 网页设计器
网页设计器负责对网页数据的采集。它提供可视化的界面进行规则定义。
2.2.1.1 单元定义
单元定义指的是定义需要采集的数据。
点击规则->新建
进入新建规则页面
在网址对话框里输入需要采集的网址
如:
点击确定
页面布局定义:
1) 系统菜单下部的区域为设计器的工具条。
2) 页面左边区域显示目标网站的网页结构,叫做网页结构视图。
3) 页面右上部是网页显示区域,叫做数据视图。
4) 页面右下部是规则设计器的列表,叫做设计器视图
确定需要采集的数据。
如上图页面需要采集的有标题和网址。以下为定义标题和网址的操作方法:
1) 标题
点击页面标题的文字“用缓冲技术提高JSP程序性能和稳定性”,出现红色区域。
网页结构视图中红色区域A表示数据所属的HTML标签。数据视图中红色区域表示当前的包含的数据。
点击设计器的工具条上的单元按钮,进入单元定义视图
图中蓝色文字是当前数据的预览。向下移动滚动条
在内容单元名的输入框里输入单元名,如:标题。
如果用户需要转换HTML标签或过滤HTML标签,点击模板设定按钮,进入模板设定视图:
点击鼠标右键,选择相应数据转换脚本。如果需要将HTML标签转换成BBCODE,选择点击BBCODE菜单项。
模板采用的是xsl定义,用户可以在输入框里自定义自己的HTML数据转换脚本。
模板有顺序优先级,最下面的将覆盖上面的模板。模板定义需要用户具备一定的xsl技术。
点击确定关闭窗口。
至此,标题单元的规则已经定义完成。如果需要查看模板输出的结果,可点击“数据视图”保存按钮,可在原预览视图里看到模板输出的结果。
2) 网址
选择上图的属性名为href的那行,在单元名的输入框里输入网址。向下移动滚动条。
点击保存按钮。在设计器视图里出现标题和网址的条目。
点击“网页设计器-Java技术产品频道-CSDN….”Tab项,回到数据视图。
如果需要采集多个区域的数据,重复以上操作。直到全部定义好为止。
点击设计器工具条上的“预览”按钮。检查当前规则匹配情况。(务必在定义好区别单元后再进行预览操作,否则将无法准确匹配数据。)
图中的蓝色区域表示当前规则匹配的数据。如果匹配的与用户预期的相符,表示当前规则定义成功。否则回到“单元定义视图”里调整规则的特征定义。具体参考“规则调整”章节。
如果不需要设定其它数据,参考csv生成器及以后的章节。
2.2.1.2 数据发布
用户通过csv生成器、内容发布器、论坛发布器,发布数据。具体信息参考相应的章节。
2.2.1.3 通配符表达式
如果用户需要对字符串进行通配符匹配,系统提供以下几种通配符关键字。
$s:匹配任意字符串。
$n:匹配数字
$c:匹配英文字母(a-Z)和数字(0-9)
$(…$):分组表达式。
$$:$字符
用户可以通过在字母前面添加$符号,系统将对该字母转义成字母本身。例如用户需要编写自己的正则表达式,以实现更高级的匹配。
如:$^$($/d$)$+$[a$-Z$]$+$$。
它生成的正则表达式为^(/d+)[a-Z]+$。
如字符串
它的特征表达式可以写成$n$s
也可以写成$s-$s-$s-$s-$s
2.2.1.4 规则调整
2.2.1.4.1 怎样扩大匹配范围?
在“单元定义视图”---属性列表里,删除或修改表达式那一项的值。然后点击“保存”按钮。回到数据视图里预览匹配结果。直到匹配正确为止
2.2.1.4.2 怎样缩小匹配范围?
1)修改匹配表达式
在“单元定义视图”---属性列表里,添加或修改表达式那一项的值。然后点击“保存”按钮。回到数据视图里预览匹配结果。直到匹配正确为止
2)限定父标签
在“数据视图”---“网页结构视图”里找到当前单元对应的HTML标签,该标签为红色标示
图中为红色的“A”。点击“A”的父节点“LI”
图中蓝色黄色的区域表示已经定义好的单元。
出现红色区域。点击“设计器工具条”上的“单元”进入“单元定义视图”
向下移动滚动条
输入或修改表达式值,保持单元名为空。点击“保存”按钮。在“设计器视图”将看到标签名的条目。这里为“<LI>”。
回到数据视图里预览匹配结果。直到匹配正确为止。
2.2.1.5 分页定义
如果需要从多页页面采集数据,用户需要定义分页规则,以告诉系统怎样获取其它分页。
向下移动上面页面的滚动条。
右键点击分页地址
点击属性菜单项,获取分页网址。本页面的网址为。
点击“设计器工具条”的分页按钮,打开分页设计对话框
选择页码分页地址或自动提取分页地址
2.2.1.5.1 页码分页地址
将分页地址拷贝到“地址表达式”输入框里。
本例为。
修改页面关键字:
将分页地址代表页码的字符替换成${count}。
如:${count}。
2.2.1.5.2 自动提取分页地址
自动提取分页地址是通过地址表达式匹配当前页的源代码。定义之前用户需要查看网页的源代码。然后通过定义通配表达式来提取网页。
特征表达式语法参“考通配符表到式”这一章节。
如果特征表达式匹配的值有其余部分,需要在特征表达式里用括弧将分页地址部分括起来。
如:http://www.caijiqi.net/$n-$n-$n-page.jsp或<a href="(http://www.caijiqi.net/$s)">下一页</a>
点击预览按钮可以查看分页地址提取情况。
2.2.1.6 定义下层(子)网页
如果数据分布在不同的页面上,并且下层页面通过上层页面的单元定义的,则用户可以对该单元所指向的页面进行单元定义。
如:用户通过列表页面定义好文章的url,然后通过列表页面中的url获得文章的页面,然后在文章的页面里定义文章的标题以及正文等。
右键点击“设计器视图”中的“网址”一项。
点击“HTML设计器”,进入子页单元设计步骤。
重复以上第一页单元定义的步骤。直到全部定义好单元为止。
2.2.1.7 内容模板定义
内容单元包含HTML标签和数据,系统默认将过滤所有标签名。用户可以通过xsl模板保留标签或转换标签。模板有优先顺序,最下面的将覆盖前面的定义。
系统预置了各种了各种模板,可直接调用或扩展。
2.2.1.7.1 保留标签名
“保留标签名”模板可以保留指定的标签名已经包含的内容。
<!--1.保留标签名 [a|img|br|p]-->
<xsl:template match="a|img|br|p">
<xsl:call-template name="includeTagName" />
</xsl:template>
代码的红色部分为xpath表达式。如:保留a、div、span、h1。这红色的部分改写为a|div|span|h1。xpath技术请参考相应文档。
2.2.1.7.2 bbcode-转换标签
该模板可以将a、img等标签转换成bbcode代码。用户可以添加或修改该模板。
<!--2.bbcode-转换标签-->
<xsl:template match="a">
[url=<xsl:value-of select="@href" />]<xsl:apply-templates />[/url]
</xsl:template>
<xsl:template match="img">
[img]<xsl:value-of select="@src" />[/img]
</xsl:template>
2.2.1.7.3 过滤标签
“过滤标签”模板将过滤该标签名或该标签所包含的内容。
<!--3.过滤标签-->
<xsl:template match="div|a">
<xsl:call-template name="removeTag" />
</xsl:template>
代码中的红色部分为xpath表达式。修改成用户需要替换标签对应的xpath表达式。
2.2.2 单元过滤器
单元过滤器可以对上级设计器定义的单元进行过滤。用户可以通过通配符表达式,对内容进行过滤或替换。
假设“网页设计器…”里面的单元需要过滤。鼠标右键点击该项
在弹出菜单里点击“单元过滤器”,进入“单元过滤器设计器视图”
向下滚动“单元过滤器视图”
点击新增按钮
在目标单元这一项上点击鼠标右键,弹出“单元列表”菜单。
点击菜单里需要过滤单元,如标题单元。系统将自动题写单元名。如果与实际不一致,用户可以手动修改。
在替换条件里输入通配符表达式。了解通配符表达式参见“通配符表达式”章节。
输入替换值,如果要过滤,为空。
如果替值里需要包含被替换文本的部分文本,在通配符表达式里将部分文本匹配的表达式用括弧括起来。在替换值里用$1、$2对通配符表达式里分组元素进行引用。
鼠标点击红色区域以外空白处,点击“新代码”或“新视图”预览结果。
点击新增按钮可以过滤其它单元。
点击保存按钮,保存设定。如果不需要设定其它设计器,点击系统菜单-规则-保存,保存当前规则,结束规则定义。
2.2.3 单元包装器
单元包装过滤器可以将上级多个单元合并成单个单元,或在单元上添加文本。
假设“单元过滤器…”里面的单元需要附加文本。鼠标右键点击该项
在弹出菜单里点击“单元包装器”。进入单元包装器视图。
向下滚动“单元过包装视图”
点击新增按钮
在“值”这一项上点击鼠标右键,弹出“单元列表”菜单。
点击菜单里需要包装的单元,如标题单元。系统将自动题写单元名。如果与实际不一致,用户可以手动修改。
在值里可以题写其它文本,也可以选择其它单元。
题写完毕,鼠标点击红色区域以外空白处,在“代码”或“视图”里预览结果。
点击新增按钮可以设定其它单元。
点击保存按钮,保存设定。如果不需要设定其它设计器,点击系统菜单-规则-保存,保存当前规则,结束规则定义。
2.2.4 csv生成器(发布器)
csv生成器提供用户将单元数据以csv的文件格式发布到用户网站里。用户网站接受csv文件,读取csv数据,发布到用户网站系统里。用户网站可以是论坛,也可以是cms。
用户需要从官方网站上下载用户网站对应的发布插件,按照插件说明安装到用户网站里。如果官方网站没有提供用户所需的插件,用户可以下载插件开发包自行开发。也可以求助官方帮其实现。
假设“单元包装器…”中的单元以及它的父单元需要以csv方式发布到用户网站里。鼠标右键点击该项
在弹出菜单里点击“csv生成器”。进入csv生成器视图。
在上传网址里题写csv插件网址。。选择用户网站对应的编码。如果数据过大,在传输时候出现超时,需要在最大拆分输入框里题写每个拆分文件的大小。
点击“设计器工具条”上的“从模板中导入”按钮。
在弹出菜单里选择发布的模板。如果没有用户需要的模板,需要用户手动设定发布参数。
向下滚动“csv生成器视图”
如果没有选择模板,点击新增按钮,在单元名一栏里题写插件对应的参数。具体阐述可以参考插件说明文档。
在“值”这一项上点击鼠标右键,弹出“单元列表”菜单。
点击菜单里需要发布的单元,如标题单元。
设定好全部后,点击保存按钮,保存设定。用户可以点击“设计器工具条”上的“保存为模板”,保存当前参数,以便以后提取。如果不需要设定其它设计器,点击系统菜单-规则-保存,保存当前规则,结束规则定义。
2.2.4.1 规则模板定义
用户可以将常用的规则定义保存为模板,以便下次规则定义时候提取以前的设定。用户不能单独新建模板,它是设计器的一部分。当设计器支持模板功能时,将在“设计器工具条”上显示模板功能按钮。用过只有在定义规则的时候才能新增或加载模板。
用户可以在系统菜单-工具-字典里删除不要的模板。
2.2.5 内容发布器
内容发布器模拟用户提交网页的方式发布数据。它不能应用于有特殊限定的网页。如验证码、发布时间限制等。如果用户是网站管理员,并且可以不受特殊限制的话,建议用户使用此模块进行数据发布。用户在网站上可以不安装任何插件。如果需要对发布的数进行特殊的处理,如附件下载,用户只需要在网站上安装一个公共的插件便可以,该插件可以从官方网站上下载,也可以自行开发。使用此方式发布,可以保证数据发布的完整性和安全性。
如果用户可以通过修改系统代码给特定的用户ID提供特殊的通道。使之以该用户ID发布数据时不受特殊限制,在这种情况下用户也可以使用该发布器进行数据发布。
假设“网页设计器…”中的单元以及它的父单元需要以内容发布器发布到用户网站里。鼠标右键点击该项
在弹出菜单里点击“内容发布器”。进入内容发布器视图。
内容发布器分登录表单和发布表单。登录表单用来用户登录。发布表单用来提交数据。
点击“设计器工具条”上的“从模板中导入”按钮。在弹出菜单里选择发布的模板。如果没有用户需要的模板,需要用户手动设定发布参数。
1)登录表单:
action:登录表单网址。网址可以根据用户网站的登录页面上登录表单来确定。
encoding:网页编码。和用户网站的编码一致。
点击新增按钮
在红色区域里输入登录参数和值,具体参数可以根据用户网站的登录页面上登录表单来确定。
2)发布表单:
action:发布表单网址。网址可以根据用户网站的发布页面上发布表单来确定。
encoding:网页编码。和用户网站的编码一致。
点击新增按钮
在红色区域里输入发布参数。具体参数可以根据用户网站的登录页面上登录表单来确定。
鼠标右键点击值对应的一项
在弹出菜单里选择相应的单元。
数据插件:指的是用户在网站上安装的对发布数据进行处理的插件。该插件可以对数据进行过滤以及对附件进行下载。可不题写。
点击“设计器工具条”上的“保存设定”按钮,保存设定。用户可以点击“设计器工具条”上的“保存为模板”,保存当前参数,以便以后提取。如果不需要设定其它设计器,点击系统菜单-规则-保存,保存当前规则,结束规则定义。
2.2.6 论坛发布器
论坛发布器模拟用户提交网页的方式发布数据。它不能应用于有特殊限定的网页。如验证码、发布时间限制等。如果用户是网站管理员,并且可以不受特殊限制的话,建议用户使用此模块进行数据发布。用户在网站上必须安装BBS插件,该插件是用来返回帖子的ID,以便系统能够自动跟贴。如果需要对发布的数进行特殊的处理,如附件下载,用户只需要在网站上安装一个公共的插件便可以,该插件可以从官方网站上下载,也可以自行开发。使用此方式发布,可以保证数据发布的完整性和安全性。
用户需要从官方网站上下载用户网站对应的BBS插件,按照插件说明安装到用户网站里。如果官方网站没有提供用户所需的插件,用户可以下载插件开发包自行开发。也可以求助官方帮其实现。
如果用户可以通过修改系统代码给特定的用户ID提供特殊的通道。使之以该用户ID发布数据时不受特殊限制,在这种情况下用户也可以使用该发布器进行数据发布。
假设“网页设计器…”中的单元以及它的父单元需要发布到论坛网站里。鼠标右键点击该项
在弹出菜单里点击“论坛发布器”。进入论坛发布器视图。
论坛发布器分登录表单和发布表单。登录表单用来用户登录。发布表单用来提交数据。
点击“设计器工具条”上的“从模板中导入”按钮。在弹出菜单里选择发布的模板。如果没有用户需要的模板,需要用户手动设定发布参数。
1)登录用户:
登录用户指的是法帖的用户ID。格式为“用户名@密码”。多个用户以换行分隔。系统将随机选取用户发布数据。
如
jwd@123d
haoren@hao13
didi@didi
2)用户单元:
用户单元指的是被采集的数据那一项代表发帖的用户ID。此项主要是系统用来将同一用户的帖子分配到本网站的同一个的用户ID上。
鼠标右键点击输入框,选择对应单元便可。
1)登录表单:
action:登录表单网址。网址可以根据用户网站的登录页面上登录表单来确定。
encoding:网页编码。和用户网站的编码一致。
点击新增按钮
在红色区域里输入登录参数,具体参数可以根据用户网站的登录页面上登录表单来确定。
鼠标右键点击值对应的一项
在弹出菜单里选择相应的菜单项。
2)发布表单:
action:发布表单网址。网址可以根据用户网站的发布页面上发布表单来确定。
encoding:网页编码。和用户网站的编码一致。
点击新增按钮
在红色区域里输入发布参数。具体参数可以根据用户网站的登录页面上登录表单来确定。
鼠标右键点击值对应的一项
在弹出菜单里选择相应的单元。必须题写“主题ID”对应的参数。否则系统将无法跟贴。
论坛插件:用户必须已经安装在用户网站上。此插件用来返回帖子ID。以便系统能够跟贴。
数据插件:指的是用户在网站上安装的对发布数据进行处理的插件。该插件可以对数据进行过滤以及对附件进行下载。可不题写。
点击“设计器工具条”上的“保存设定”按钮,保存设定。用户可以点击“设计器工具条”上的“保存为模板”,保存当前参数,以便以后提取。如果不需要设定其它设计器,点击系统菜单-规则-保存,保存当前规则,结束规则定义。
3 任务
用户可以通过任务功能指定采集规则在固定的时间点上由系统自动启动进行采集数据。任务可以让规则自动采集数据。用户可以通过任务功能让自己的网站与目标网站数据同步,或监视目标网站数据。
3.1 列表
任务列表显示该用户保存在系统里的任务设定。用户可以选择一个任务进行删除,修改。
点击任务->列表
进入任务列表页面
E:修改任务,可以修改规则、运行时间。
D:删除该条任务。
3.2 新建
用户需要自动采集数据时,需要定义一条任务,指定采集规则、运行时间。
点击任务->新建
进入新建任务页面
在规则列表框里用鼠标点击一条规则,设定执行周期、执行时期以及备注。点击保存,保存规则。
规则列表:定时启动的采集规则。
执行周期:一天为周期的执行间隔。
执行时期:一天内的某一时刻。24点计算。晚上10点值为22点。
备注:对任务的说明。
4 类别
用户可以通过类别功能将采集规则进行分类,方便管理规则。
4.1 列表
类别列表显示该用户保存在系统里的类别设定。用户可以选择一条类别进行删除,修改。
点击类别->列表
进入类别列表页面
E:修改类别,可以修改名称、描述。
D:删除该条类别。它将删除该类别下的所有的规则以及关联的任务。
4.2 新建
点击类别->新建
进入新建类别页面
输入名称和描述,点击保存按钮。保存类别。