网页信息抽取算法必须要有很强的适应性,一方面能够适应各种各样的网站和网页内容结构;另一方面能够适应网页结构的改变。V3版本引入的FreeFormat技术和V4.0.0版本引入的自定义网页信息抽取规则方法都是为了提高适应性。除此之外,还可以调整网页信息抽取规则生成算法,微调网页信息的定位表达式,使生成的网页信息抽取规则更具适应性。例如,网页信息的定位表达式是XPath表达式,适应性最差的表达式采用绝对定位路径,即,从HTML DOM的根节点(html节点)一级级遍历到被定为节点,轻微的HTML页面结构变化都会影响XPath表达式的可用性;相反,如果先利用某个特定标志(例如,HTML文档中的id或者class属性或者网页上的文字)直接定位到某个参照节点,再从这个节点开始使用XPath表达式定位到被抽取节点,这种方法生成的网页信息抽取规则的适应性很强。所以,即使没有特别设置,MetaStudio自动地寻找网页上的可用标志,参照他们生成网页信息抽取规则。但是,这种缺省设置并不总是最奏效,有时候自动确定的定位标志反而会误导网页信息抽取软件DataScraper,在这些特殊情况下,需要操作员干预,微调定位算法,下面将详细说明这些微调参数的使用方法,顺便讲解其它工作环境参数的配置方法。
网页信息抽取规则生成工具MetaStudio的配置菜单下有三个子菜单:
- 服务器地址:可以设定MetaCamp和DataStore服务器的地址,要使用绝对路径的URL地址格式,当前,在互联网上开放的服务器地址分别是http://www.metcamp.cn/metacamp/和http://www.metacamp.cn/datastore/。注意:地址字符串后面的斜线不能省略。
- MetaCamp帐号:在MetaSeeker自助服务网站上申请的帐号,可以存储在MetaStudio配置文件中,这样不必在MetaStudio启动时输入帐号了。
- 首选项:当前版本,只有两个首选项:全局定位和线索定位,表示在计算网页数据和超链接提取规则时怎样生成DOM节点的定位表达式(XPath表达式)。全局定位是一个本地配置,表示本机用户的偏好,存储在MetaStudio配置文件中;而线索定位是动态的,与工作台上的信息结构绑定,如果是新创建的信息结构,线索定位与全局定位一致,上载信息结构时,线索定位随信息结构上载到服务器上。Bucket Editor工作台上定义的每个整理箱也有相同的一组选项,跟整理箱绑定,也上载到服务器上,点击整理箱标签上的鼠标右键菜单项首选项进行设定。定位首选项有下面选项:
- 绝对定位:DOM节点的定位表达式是一个绝对路径的XPath表达式,这种定位方法适应性很差,目标页面结构变化会导致网页信息抽取规则失效
- 任何一个:DOM节点的定位表达式是从最近的拥有class或者id特性的HTML节点开始的
- 偏好id:计算DOM节点的定位表达式时,尽量找最近一个拥有id特性的HTML节点最为定位表达式的起点,如果没有找到,则找最近的拥有class特性的HTML节点,这是缺省设置。
- 偏好class:计算DOM节点的定位表达式时,尽量找最近一个拥有class特性的HTML节点最为定位表达式的起点,如果没有找到,则找最近的拥有id特性的HTML节点。
- 只用id:计算DOM节点的定位表达式时,找最近一个拥有id特性的HTML节点最为定位表达式的起点,如果没有找到,不会使用拥有class特性的HTML节点。
- 只用class:计算DOM节点的定位表达式时,找最近一个拥有class特性的HTML节点最为定位表达式的起点,如果没有找到,不会使用拥有id特性的HTML节点。