package com.sydica;import org.htmlparser.Parser;
import org.htmlparser.visitors.HtmlPage;/**
 * @author water
 *
 */
public class HtmlParserTool {
 
 public static void main(String[] args) throws Exception{
  
  String filePath="http://bangyan2003.javaeye.com";
  ParseFunction(filePath);
  
 } public static void ParseFunction(String content) throws Exception{
  Parser parser = new Parser(content);
  
  parser.setEncoding("GBK");
  
  HtmlPage visitor = new HtmlPage(parser);
  
  parser.visitAllNodesWith(visitor);
  
  String parseTitle = visitor.getTitle();
  
  System.out.println(parseTitle); }
 
}

解决方案 »

  1.   

    对于HTMLParser 工具包我们需要修改其中的htmlparser.java文件使其适用中文的html文件分析。htmlparser.java文件中具体实现细节就不再介绍。
    这里主要是把protected static final String DEFAULT_CHARSET = "ISO-8859-1";
    修改成protected static final String DEFAULT_CHARSET = "gb2312";
    --因为采用默认的字符集"ISO-8859-1"对含有中文的html文件进行分析的时候就会出现乱码。必须进行new String(str.getBytes("ISO-8859-1"),"GB2312")的转换工作。对于修改好的htmlparser工具包,需要重新压缩成.jar文件,放到jdk的工作环境中。