论文部分内容阅读
随着互联网的不断发展以及互联网内容的爆炸式增长,人们开始关注这些海量信息背后隐藏的内容,也就是对web信息的数据挖掘,作为数据挖掘的基础----数据采集,则直接决定了数据挖掘的质量。然而,已有的信息采集系统,在某些方面还不够完善,如对使用AJAX技术的动态页面支持较差,以及没有有效应对服务器的反抓取措施等。本文提出一种使用JAVA语言开发的深度web信息采集方案,该方案包括采集策略配置、一般/深度采集、自动代理技术,以及采集内容的索引和后续处理等一系列技术,初步实现了一个简要的深度web信息采集系统;并以百度搜索、网易新闻(包括评论)、京东商城作为测试网站,完成了该系统测试工作。本系统基于现有的web信息采集技术,首先将深度采集所涉及的各种策略和行为整合为对应的网络模板,再基于开源的HtmlUnit模块实现相关行为,完成深度采集,最终将得到的数据进行字段提取、构建索引并写入数据库,完成整个采集过程。同时,系统提供了友好的用户界面,方便用户创建、管理采集任务,以及实现对已采集内容的检索。在介绍深度web信息采集系统设计的基础上,本文详细阐述了网站模板编辑/管理模块、一般页面下载模块、深度页面采集模块、网页去重模块、自动代理模块、网页索引模块以及字段抽取模块的设计和实现。由于本系统使用Java语言开发,在保证界面友好的前提下,整个系统具有良好的跨平台性,既可以在Windows下运行,也可以在Linux下运行。该系统将轻量级无界面web测试引擎HtmlUnit引入到信息采集中,使得系统可以支持更多网站的动态页面采集。同时,系统的插件化设计使得其具有良好的可扩展性和二次开发性,用户可以通过添加模板以采集所需的信息,也可以通过加载其他功能模块(数据库接口、采集引擎)来支持更大规模的数据采集,或者对动态页面的更好解析,真正实现了系统的易用性、高效性、扩展性。