简单的提取html中的TextNode

来源:互联网 发布:淘宝达人怎么赚钱 编辑:程序博客网 时间:2024/05/29 08:35

eclipse:导入htmlparser.jar

import org.htmlparser.util.*;
import org.htmlparser.filters.*;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.nodes.TextNode;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.TextExtractingVisitor;;

public class HtmlParserExtraction {
    public static void main(String[] args) throws ParserException
    {
        try {
            ParseHtmlText("http://www.hzau.edu.cn/2014/ch/", "GB2312");
            
        } catch (ParserException e) {
            e.printStackTrace();
        }
        
    }
    
    public static void ParseHtmlText(String url, String pageEncoding) throws ParserException
    {
        Parser parser = new Parser(url);    //访问目标网站
        parser.setEncoding(pageEncoding);    //设置解析编码的格式
        TextExtractingVisitor visitor = new TextExtractingVisitor();    //生成文本内容抽取对象
        NodeFilter textFilter = new NodeClassFilter(TextNode.class);    //生成文本过滤器
        NodeList nodes = parser.extractAllNodesThatMatch(textFilter);    //利用文本过滤解析文档
        for (int i = 0; i < nodes.size(); i++) {
            TextNode    textNode = (TextNode) nodes.elementAt(i);    //获取文本结点
            String         line = textNode.toPlainTextString().trim();    //转换成纯文本
            if(line.equals(""))        continue;
            System.out.println(line);
        }
        
        parser.visitAllNodesWith(visitor);    //访问网页所有的结点
        System.out.println(visitor.getExtractedText());
    }
}


0 0
原创粉丝点击