使用Java编程解析Web页面.pdf

使用Java编程解析Web页面.pdf

ID:51493134

大小:231.67 KB

页数:4页

时间:2020-03-25

使用Java编程解析Web页面.pdf_第1页
使用Java编程解析Web页面.pdf_第2页
使用Java编程解析Web页面.pdf_第3页
使用Java编程解析Web页面.pdf_第4页
资源描述:

《使用Java编程解析Web页面.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、万方数据2004年第7期计算机系统应用使用JaVa编程解析Web页面ParsingWebF'ageD0cumentwithJaVaProlgramming刘遵雄(西安交通大学网络所710049、南昌华东交通大学电气学院330013)聂国星(南昌华东交通大学网络所710049)摘要:本文研究并探讨了使用Java的Swlng包编程解析Web页的关键技术,并提供了具体的解决实例和实现中以及要注意的问题,实现了web信息的提取。关犍词:Java编程HTML文件解析技术1引言在当今网络环境下,解析HTML文档的工作

2、时刻在进行着。我们总是使用某个搜索引擎在互联网这个巨量信息库里检索信息,如GoogIe和Yahoo等,提高了工作效率。我们之所以能够享受搜索引擎带来的方便快捷,是与一种可称为网络蜘蛛(Spider)的软件使用分不开的,运行的Spi—der不断在网上通过链接巡游,并且对访问的HTML文档进行解析记录。目前市场上存在一些HTML解析器,有时它们不能很好地满足各自要求,这就要求用户自己进行编程对HTML文档进行解析。Java语言作为一种流行的网络编程工具,在一定程度上提供解析HTML文档的功能。本文以下两部分就

3、使用Java进行HTML解析的主要技术和具体实现过程的主要环节进行了探讨和研究,并给予相应的重点提示。2主要技术2.1使用HTMLEdItorKIt.Parser主要的HTML解析类Parser是HTMLEdltorKit类的内部类,包含在Swing包中。其实一个抽象类,使用它进行工作关键在于将类Parser进行实例化。Java对类Par-ser实行如此包装并没用考虑到外部解析HTML的功能需求,似乎产生了一些负面影响,我们可以使用HTMLEditor_KJt.Parser类实例化的方法,这种唯一的方法是

4、通过重载HTMLEdItorKit类的getParSer方法来实例化HTMLEd—itorK

5、t.Parser对象,从而实现其pubIlc访问性。实现访问Swing的HTML解析器的类HTMLParSer定义文件HTMLParSe.java如下:ImpOrtjavax.swlng.text.htmI.*;PUbI

6、ccaSSHTMLParSeextendsHTMLEditOrKitfpub

7、.cHTMLEditorKit.ParsergetParser(){//返回新的HTMLEditorKIt.Pars

8、er对象retumsu—per.getParser();}}这个类的实例从Reader读取HTML文档,并在文档中寻找五种标签:开始标签、结束标签、空标签、文本和注释,它们涵盖了普通HTML文件的所有重要部分。每次解析器看到这五个标签之~时,它就会调用相应的回调方法,回调方法在javax.swing.text.htmI.HTMLEdltorKit.ParSer-CaIIback类中的定义。为了解析一个HTML文件,用户写一个回应文本和标签的HTMLEditorKlt.ParSe旧aIIback子类,然后传

9、递~个用户子类的实例到HTMLEdltorKit.Parser的parSe方法中,待处理的HTML文件的Reader对象将一同作为参数传递,parSe方法的第三个参数用于指定是否注意文档的字符集,一般取true。,StringReaderr=newStrIngReader(⋯htmIstring-··);HTMLEditOrKit.ParserDarse=newHTMLParse().getParser():Parser.parse(r,callback.true);通过调用HTMLEdItorKlt的g

10、etParser方法来实现Parser对象的实例化,该方法没有公共访问接口,在子类中重载getParSer使之成为公共成员函数。获得了ParSer类,就可以调用其parse方法,parSe方法只是HTMLBdltor-Kit.Parser类的公用方法,所有这些都是在HTMLEdItor.Kjt.ParSe巾aIIback子类的回调方法内部处理的。Parse()只是简单地从Reader中读取数据直到读完整个文档,每次看到标签、注释或者文本,都会调用HTMLEdltorKIt.ParSer-CaIIback实

11、例的相关回调方法。HTMLEditorKit.Parser和HTMLEditorK.t.ParSe旧aIIback实例都是独立阅读器的,P阳cticaIE)cperience实践经验63万方数据计算机系统应用2004年第7期可以解析多个文件,只是调用Parse()多次。对于HTML数据流中的每个种类的标签(tag)都会反复调用caIIback对象。以下讨论ParSe旧aIIback类的结构。2.2使用HTMLEdItorKit

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。