您的位置:首页 > Web前端 > Node.js

简单的提取html中的TextNode

2014-06-09 22:55 381 查看
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());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: