声明:本人来自转载
htmlparr.sourceforge/
HTMLParr具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索。对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParr的结构设计很巧妙,非常实用,基本你的各种需求都可以满足。
这里我根据自己这几个月来的经验,写了一点入门的东西,希望能对新学习HTMLParr的朋友们有所帮助。(不过当年高考本人语文只比及格高一分,所以文法方面的问题还希望大家多多担待)
身体的成语 冒冷汗是怎么回事HTMLParr的核心模块是org.htmlparr.Parr类,这个类实际完成了对于HTML页面的分析工作。这个类有下面几个构造函数:
public Parr ();
public Parr (Lexer lexer, ParrFeedback fb);
public Parr (URLConnection connection, ParrFeedback fb) throws ParrException;
千岛湖大桥
public Parr (String resource, ParrFeedback feedback) throws ParrException;
public Parr (String resource) throws ParrException;
public Parr (Lexer lexer);
public Parr (URLConnection connection) throws ParrException;
和一个静态类 public static Parr createParr (String html, String chart);
对于大多数使用者来说,使用最多的是通过一个URLConnection或者一个保存有网页内容的字符串来初始化Parr,或者使用静态函数来生成一个Parr对象。ParrFeedback的代码很简单,是针对调试和跟踪分析过程的,一般不需要改变。而使用Lexer则是一个相对比较高级的话题,放到以后再讨论吧。
这里比较有趣的一点是,如果需要设置页面的编码方式的话,不使用Lexer就只有静态函数一个方法了。对于大多数中文页面来说,好像这是应该用得比较多的一个方法。
下面是初始化Parr的例子。
package com.baizeju.htmlparrtester;
import java.io.BufferedReader;
import java.io.InputStreamReader;
年龄大了import java.io.FileInputStream;
import java.io.File;
import java.HttpURLConnection;
import java.URL;
import org.htmlparr.visitors.TextExtractingVisitor;
import org.htmlparr.Parr;
/**
* @author
*/
public class Main {
private static String ENCODE = "GBK";
private static void message( String szMsg ) {
try{System.out.println(new Bytes(ENCODE), Property("ding"))); } catch(Exception e ){}
}
public static String openFile( String szFileName ) {
try {
BufferedReader bis = new BufferedReader(new InputStreamReader(new FileInputStream( new File(szFileName)), ENCODE) );
涨字组词 String szContent="";
String szTemp;
while ( (szTemp = adLine()) != null) {
szContent+=szTemp+"\n";
}冠招弟
bis.clo();
return szContent;
首饰鉴定 }
catch( Exception e ) {
return "";
}
}
public static void main(String[] args) {
String szContent = openFile( "E:/My Sites/HTMLParrTester.html");
try{
//Parr parr = ateParr(szContent, ENCODE);
//Parr parr = new Parr( szContent );
单杠4练习 Parr parr = new Parr( (HttpURLConnection) (new URL("127.0.0.1:8080/HTMLParrTester.html")).openConnection() );
TextExtractingVisitor visitor = new TextExtractingVisitor();
parr.visitAllNodesWith(visitor);
String textInPage = ExtractedText();
message(textInPage);
}
catch( Exception e ) {
}
}
}
加重的部分测试了几种不同的初始化方法,后面的显示了结果。大家看到能Parr出内容就可以了,如何操作访问Parr的内容我们在后面讨论。