上一节在Clue Editor工作台上按类别建立了很多信息提取线索,接下来需要告诉超链接提取规则生成工具MetaStudio从网页的什么位置提取超链接,这就是所谓的定义提取超链接的规则过程。当然,不是简单地将HTML DOM节点映射到某个线索上,而是,为了提高超链接提取规则的适应性(将目标网页结构变化造成的影响降到最小),采取了很多强化手段,从某个HTML页面范围而不是某个确定的HTML DOM节点提取符合特定特征的超链接,例如,根据网页上的特定文字(Marker类线索),或者根据超链接URL地址的路径特征(Pattern类线索),或者根据多个超链接之间的关系(Relative类超链接)等等。
超链接提取规则生成工具MetaStudio有强大的图形用户界面(GUI),用户不必手工编写提取超链接的规则,而是在内嵌浏览器上选取网页内容、定位HTML DOM节点、将DOM节点映射到信息提取线索上,然后由MetaSeeker自动生成提取超链接的规则。下面将分类详述。
在DOM树视窗中选择了被映射的节点后,使用右键弹出菜单线索映射,进行线索及其特性映射。
有下述方法选择DOM节点:
选中,系统将重置鼠标点击的缺省处理方式,将在DOM树上找到被点击HTML元素在做其它映射之前,首先要做线索映射,将某个节点映射到当前线索(Info Clue类线索不用映射)上,该操作对于不同类别的线索含义是不同的,对于Single Clue类别的线索,该操作表示在这个确定的位置上提取超链接;对于其它类别的线索,该操作表示在DOM节点代表的HTML页面范围内提取符合条件的多个超链接。在此重点讲解本文实际操练的例子用到的类别的映射方法,其它类别的解释参见MetaStudio高级用户手册#线索的类别。
在DOM树视窗中选择某个DOM节点后,鼠标右键弹出菜单线索映射->线索映射的子菜单项是由所有非Info Clue类线索组成的,选择其中一项,就会将DOM节点映射到该线索上,在Clue Editor工作台的操作区的第二行可以看到节点号: unmapped变成了节点号: xxx,xxx表示DOM节点序号。
并不是每个DOM节点都能映射到随意的线索上,特定的线索类型只能接受特定的DOM节点类型。Single Clue类别的线索是在确定位置上提取一个超链接,显而易见,只有HTML的A元素才能映射;其它类别的线索都是在一个范围内提取超链接,只要是HTML的元素节点就能映射。
如果用户建立了一个Marker Clue类别的线索,用户不必手工输入记号文字,可以通过映射自动获得。在DOM树上选择代表记号的text节点或者HTML特性节点,选择右键菜单项线索映射->记号映射,text节点的文本或者HTML特性节点的值就拷贝到记号值编辑框中,根据需要进行编辑,并设定记号值匹配规则,由第一行的查检框
控制,选中是全匹配否则是部分匹配,如果是全匹配,在线索提取指令文件中的指令是[path]=”[value]”,否则指令是contains([path],”[value]”)。至此记号映射就完成了。
能够作为记号进行映射的text节点或者HTML特性节点必须是HTML A元素包容的节点,否则,映射失败。
紧接上一节的实际操练,选择序号是1513的节点,这个节点代表目标页面上的一个HTML范围,其中包含翻页的超链接,将其映射到Clue 1上,然后,选择序号是1529的节点,它就是被一个HTML A元素包容的文本值是“next >>”的text节点,将其作为记号映射,您会看到在Clue Editor工作台的下栏,1529出现在记号节点位置,并且“next >>”正确地填写到记号值编辑框中。在本例中,由于1529节点中含有大量的空格字符,在记号值编辑框中将这些空格全部删除了,所以查检框
不能勾选。
Comments
注意XML转义符