1. 总体设计介绍
1.1 核心思想
在网站建设过程中,网站内容总是按一定的目录层次组织的,如果在蜘蛛程序获取页面的过程中,同时获取网页所属的网站目录层次信息;在返回用户的查询结果时,结果集按此目录层次信息组织,用户可以通过选择感兴趣目录缩小结果集,提高浏览效率(browseability)。由于当前搜索引擎是平坦(flat)的返回结果集,而结果集一般很大,用户往往不会看到后面的结果。采用上面的方法,能很好的解决这个问题,提高搜索引擎的服务质量和满意度。
2.1 实现方案
1. 网站目录信息的提取
为了方便用户浏览,网页中一般都设有导航栏,导航栏一般按层次组织。导航栏的各项一般为某种分类方式下的一个类别。所以,根据导航栏及其层次,我们可以提取出网站的层次目录信息。由于html语法的不严格性,同样的视觉内容,可能会有不同的html源文件形式。在加上不同风格下,导航栏所处位置不同,所以如何准确的确定导航栏对应的html源文件,从而进一步分析是问题的关键。
目前,从给的页面html源文件中,确定导航栏部分的方法有两种:
l 基于页面分块确定导航栏。详见游镇文章。这种方法的有点是通用性好,能方便的适应多种网站风格。缺点是处理量较大,且涉及数据库操作过多。
l 基于<table>标签定位导航栏。这种方法是基于当前较为规范的中文网页,基本满足一下几个假设而做的:
a) 导航栏包含在一个内层<table>中(即这个table中不再嵌套table),并且此table的width值不少于500(只适用于上方导航栏);
b) 导航栏所含超链接不少于五个;