- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于HTMLParserWeb文献信息提取
基于HTMLParserWeb文献信息提取
摘要:基于HTMLParser对网页进行解析,可抽取标签间的Link、image、meta 和title 等信息。使用HTMLParser来提取Web文献中的题名、关键字、摘要、作者、来源等信息,清洗后存入MySql 数据库当中,以备后续数据挖掘使用。对此进行了论述。
关键词:HTMLParser;Web文献;信息提取
中图分类号:TP301文献标识码:A文章编号:1672??7800(2011)02??0014??02
作者简介:龚真平(1986-),男,四川内江人,西南交通大学软件学院硕士研究生,研究方向为计算机软件理论及教育技术。0引言
大量的科研项目,每年都会有数以万计的文献产生。随之而来的问题是如此多的文献数据让人难以消化,无法从表面上看出它们所蕴涵的有用信息,更不用说有效地指导进一步的工作。如何从大量的数据中找到真正有用的信息成为人们关注的焦点,数据挖掘技术也正是伴随着这种需求从研究走向应用。
近年来,随着Web技术的快速普及和迅猛发展,使各种信息可以以非常低的成本在网络上获得。本文就是要利用网络爬虫技术,对Web文献进行抓取数据,构建数据仓库,以挖掘出有用的信息。1HTMLParser简介
HTMLParser是一个纯的Java写的HTML解析的库,它不依赖于其它的Java库文件,主要用于改造或提取html。它提供了接口,支持线性和嵌套HTML文本。在实际的项目中只需要将htmlparser.jar 导入classpath中,就可以使用Htmlparser提供的API了。HTMLParser项目主要可以用在以下两个方面:
(1)信息提取。文本信息抽取,例如对HTML进行有效信息搜索;链接提取,用于自动给页面的链接文本加上链接的标签;资源提取,例如对一些图片、声音的资源的处理;链接检查,用于检查HTML中的链接是否有效;页面内容的监控。
(2)信息转换。链接重写,用于修改页面中的所有超链接;网页内容拷贝,用于将网页内容保存到本地;内容检验,可以用来过滤网页上一些令人不愉快的字词;HTML信息清洗,把本来乱七八糟的HTML信息格式化;转成XML格式数据。
HTMLParser由Node、AbstractNode 和Tag 来表达HTML。Node 是HTML 的基础(树形结构)。Node 定义:与树结构表达页面Page 对象、获取父、子、兄弟节点、节点到对应HTML 文本、节点对应的起止位置、过滤方法、Visitor 访问机制。Node分为:RemarkNode 代表HTML 的注释;TagNode和TextNode 分别为标签和文本节点。AbstractNode是Node 类的实现,以构成树形结构。Tag 是具体分析内容,分成composite 的Tag 和简单Tag。前者基类是CompositeTag,其子类含BodyTag 等27 个子类。简单的Tag 有BaseHrefTag 等8 类。2系统结构
Web文献页面含大量Link,HTMLParser 含LinkTag,但运用中需重载某部分接口,并需提取、、、、及页面位置信息。而网页中存在大量超链接和文字内容,且信息量大,若用Htmlparser提取超链接速度慢。根据已有的经验,对常用的10个网页解析的平均时间为6s。最长的居然达到26s,而且运行的时候还要考虑网络情况。因此本文会采用多线程技术,让多个解析爬虫同时对网页信息进行爬取(这里可以采用hadoop分布式架构,读者可以自行研究)。本文以知网的文献资料为实验对象,输入某个主题,抓取相关主题的Web文献中的题名,关键字,摘要,作者,来源等信息。算法为:①利用输入的主题,通过代码自动搜索出相关的文献结果(分页展示的文献信息),会得到一个URL;②分析所有URL对应的页面并提取相应的题名,关键字。摘要,作者,来源等信息;③进入下一个URL,重复步骤②直到所以内容提取完毕;④信息清洗后存入数据库。
信息抽取设计:①网页内部的文献信息抽取模块用HTMLParser 包,由上述算法递归和多线程处理,抽取该结果集的所以页面;②清洗已抽取的文献信息。提取大量文献信息数据含有很多脏数据,需清洗后使用;③存储模块。利用MySql 存储抽取的Web文献信息数据,并不断更新数据库避免保存重复信息。3系统实现
以下代码省略 try-catch 及一些异常处理部分。 3.1抽取网页内部文献信息
StringBean sb = new StringBean (); //定义StrngBean
Parser parser = new Parser (path); //定义路径pa
原创力文档


文档评论(0)