web信息抽取系统研究与实现(源码)
目 录
第一章 概述 1
1.1 相关背景和现状 1
1.2 课题目的和意义 1
1.3 研究方法和思路 1
第二章 相关技术介绍 2
2.1 Web信息抽取技术 2
2.2 Heritrix 3
2.3 HtmlParser 3
2.4 JSP 3
2.5 JDBC 4
2.6 网络爬虫 5
2.7 聚焦搜索 5
2.8 SQL Server 6
第三章 需求分析与算法策略 7
3.1 需求概述 7
3.2 总体架构 7
3.3 流程设计 8
3.4 广度优先的URL获取策略 8
第四章 系统的实现 10
4.1 URL处理 10
4.2 网页内容解析 11
4.3 数据存储 12
第五章 系统的运行 13
5.1 系统配置 13
5.2 运行实况 13
结束语 16
致 谢 17
参考文献 18
第一章 概述
1.1 相关背景和现状
由于网络的便利和网上信息的丰富,从网上获得信息的信息获取方式变得越来越普及。信息时代,网络规模呈几何级扩张。网页浩如烟海,海量信息得以藉此传播。然而网页上的信息稂莠不齐,其中也充斥着诸如广告之类的于用户无用的垃圾信息,这阻碍了用户对特定信息的搜集
*景先生毕设|www.jxszl.com +Q: ^351916072^
,储存和直接利用。因此,如何从网页中高效的提取有价值的数据引起信息技术研究人员的关注。这对舆情监测,数据采集和搜索引擎乃至方兴未艾的人工智能等领域都有重大意义。
信息抽取技术最早始于上世纪中叶对自然语言的文本处理,指在一段自然语言文本中抽取指定信息,得到格式化的数据。该技术有效提高了信息查询、自动应答问题等应用领域的工作效率。随着互联网的兴起,信息抽取技术研究更加热门,应用场景大大增多。这其中Web信息抽取技术备受青睐,也最为成功。
1.2 课题目的和意义
大多数网页以HTML显示。在某种程度上Web页面中数据与HTML脚本相互交织,有意义的数据掺杂其中,不利于提取应用。课题通过研究基于Heritrix爬虫的Web页面信息抽取技术,爬取特定站点相关的网页,再提取页面内的具体数据,将之分离出来以方便直接存储和利用。
1.3 研究方法和思路
该课题所采用的研究方法主要有:网络搜索法、文本文献研究法以及实践研究法。网络搜索法主要是通过互联网搜索有关于该课题的所需要的资料,通过在互联网上进行提问的方法来解决自己在实践过程中所遇到的问题,来实现信息抽取。文本文献研究法主要是通过对已经出版的杂志、报刊、书籍等进行阅读理解,了解有关于Heritrix等相关领域的技术以及作者对其的理解与用法。通过网络搜索法和文本文献研究法将所获取的资料与实际项目进行结合,应用到实际的系统上,经过不断地优化、改善、修改调整之后,完成一个较为实用,符合预定要求的抽取系统。
系统的实现思路:借助Heritrix(一个可自行定制网页爬行策略的网络爬虫)通过重新定义爬取规则以从网站获取特定网页,再通过正则表达式匹配DOM树上的数据,最后使用数据库存储数据。
第二章 相关技术介绍
本文涉及到Web信息抽取,Heritrix,HtmlParser等技术,下面是对它们的介绍。
2.1 Web信息抽取技术
大多数网页以HTML显示。在某种程度上Web页面中的数据与HTML脚本相互交织,有意义的数据掺杂其中,不利于提取应用。本技术就是用于提取Web页面中有利用价值的数据,整理成利于储存和直接利用的格式化数据的一种技术。
根据不同的标准,可将Web抽取技术分为如下几类:
根据自动化程度:
1.人工方式。针对需要提取信息的网页编写适用的程序。这种方法开发效率低,维护难度大,可移植性差,网站结构只要发生变化,程序就要重制;
2.人机协作方式。人只负责网页结构规律的分析,定义特定的提取规则。用于具体提取信息的程序则是通用的。该方式可移植性增强,这种方法不能很好地适应海量的Web数据抽取;
3.全自动方式。用户无须干预。抽取准确度不高,对技术水平的要求提高。
根据具体实现中采用的手段:
1.基于语言学
该方式根据自然语言或文本的语法、词性和上下文分析而对抽取规则作出定义。适用于规范语言、文本中信息的提取。这正是Siri、Google Now和Cortana等人工智能工作的主要方式。
2.基于具体网页的结构
采用兵来将挡水来土掩、具体问题具体分析的抽取策略。针对需要提取信息的网页编写适用的程序。一个程序仅面向一组结构完全相同的网页。网页结构稍有差异,程序就必须重新编制。这种方法开发效率低,维护难度大,可移植性差,网站结构只要发生变化,程序就要重制。
3.基于知识库
该方式以已有的、完整的、针对特定领域的知识库为基础。知识库以特定领域典型文档的特有描述信息为内容。该方式依据库内描述信息的语法、词义特点,生成抽取规则,对待抽取网页结构的形式要求低。此方式需要耗费较多时间和精力来进行建库工作。
4.基于Html语法结构
该方式将Web网页文档解析成DOM树,再根据DOM树半自动或自动地生成抽取规则。
本课题针对HTML的结构化特点,通过建立现有网页的DOM树模型提取网页中离散而有价值的信息数据,采用半自动方式实现对特定信息的抽取,以达成既具有较高的效率又兼具一定可移植性的目的。
2.2 Heritrix
Heritrix是一个以Java开发的、开源的网络爬虫,用户可以重写其Extract和Frontier类的URL处理算法以从网上获取特定网页。
2.3 HtmlParser
HtmlParser是一个以Java开发的Html过滤和替换工具。本课题重写该工具中Filter类的网页数据匹配解析算法实现对DOM节点和节点内信息的过滤提取。Filter类通过boolean accept()函数,判断之前得到的DOM节点内信息是否满足用户定义的过滤条件,提取需要的信息。
2.4 JSP
JSP是Java服务器页面(Java Server Pages)的英文缩写,它是一种跨平台的动态网页技术标准。它通过在静态页面中嵌入Java代码,再由Web服务器的JSP引擎来进行编译,从而把生成的页面信息返回给客户端。
原文链接:http://www.jxszl.com/jsj/rjgc/50066.html