论文部分内容阅读
随着互联网技术的迅猛发展、科技知识的日新月异,人们对网络探索的需求与日俱增,在这样的情况下,Web上的站点和网页的数量呈现出以一种爆炸性的趋势飞速增加。按照获取信息的途径就可以清晰的将Web分为:Surface Web(浅层网络)、Deep Web(深层网络)。与SurfaceWeb相比,Deep Web所包含的信息更丰富、信息量更大、结构化更好、主题性更强。随着市场情报分析、舆情分析等分析型应用需求的增长,亟需对Deep Web数据进行集成,从中分析挖掘有用知识。Deep Web网页的爬取是Deep Web数据集成的前提,为Deep Web的数据集成提供数据支持,只有建立在大量网页的基础上,通过抽取数据,集成数据,最后得到的信息才能更加准确,更加满足用户的需求。为了获取大量的网页,这就要求在有限的资源内提高爬取效率,不但要保证网页的数量,还要保证网页的新鲜度。Deep Web的增量爬取就具有十分重要的应用价值和现实意义。Deep Web增量爬取提高了爬取效率,节约了大量的时间和资源。Deep Web的研究涉及诸多领域,从数据源发现、Deep Web爬取、抽取、数据融合、信息展示等等。虽然目前在这些方面有众多专家做了大量研究,做出了重大贡献,但是还有一些没有得到彻底解决的问题。下面就列出了几个在Deep Web爬取方面遇到的问题。1.在一个搜索表单内包含多个可描述性标签和表单元素,采用何种方式对这些标签和元素进行解析才能够为它们准确的匹配做好铺垫。2.在抽取搜索表单后将搜索表单进行分解,会得到很多表单元素和标签,由于表单设计没有统一的开发规范,所以分解后这些表单元素和标签并没有很好的一一对应关系,虽然人类可以一眼就能看出来,但是对机器是一个挑战。怎样自动的为表单元素准确的匹配标签,使得匹配成功后的形成的属性能够正确的对应数据库的表属性,高效的查询出数据记录。3.用户填充表单后,爬虫提交表单,访问后台数据库,获取结果网页,但是如果短期内多次提交重复的表单或者含义相似的表单必定会得到重复的网页,我们的目标是尽量得到新出现的网页或者内容发生变化的网页,对于那些未发生变化的网页就不在爬取的目标之中,这样就会提高爬虫的效率针对上面提到的几个问题,本文采用了LEX表达式的方式解析搜索表单,采用机器学习方式组合的方法来匹配元素和标签,最后定期的提交表单项来增量爬取Deep Web网页,本文的主要工作和成果概括如下:1.对于一个给定的搜索表单,根据设计者的设计意图和用户的使用习惯,使用LEX来解析搜索表单,将表单元素和描述性标签用特定的表达式来表示,为每一个表单元素都提供一些可供选择的描述性标签。2.提出了机器学习方式组合的方法来匹配表单元素和标签,这种组合分两步,每一步根据候选标签的特点通过实验来验证哪种机器学习方法更适合,更加准确的过滤掉那些错误的标签。最后为处理一些异常情况,还会为异常的匹配进行纠正。3.提出了一种基于URL分类的Deep Web网页增量爬取的方法,介绍了爬虫模块、表单抽取器模块、表单提交频率计算器模块、缓冲器模块等,同时对Deep Web网页根据信息内容作了分类,列表页面和叶子页面,主要是针对叶子页面进行增量爬取,列表页面是进行辅助爬取。