简单的提取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());
}
}
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());
}
}
相关文章推荐
- Java POI组件——简单提取Word、word转html、text、xml(仅支持doc,不支持docx)
- 提取HTML代码中文字的C#函数(HTML to TEXT)
- 从HTML文件中提取正文的简单方案
- HTML DOM createTextNode() 方法
- 【自己的整理】node.js直接输出一个非常简单的HTML页面
- .net 替换 HTML中的某个标签 例:string TempStr = DropHtmlTag(Node_Content.InnerText,"a");
- 导出的最简单方法(text/html/word)
- nodejs cheerio模块提取html页面内容
- 菜鸟小白使用node.js搭建简单服务器(可请求图片,html,js,css,json等文件)
- 用text转换html简单代码、截取
- HtmlTextNode & HtmlCommentNode
- The Easy Way to Extract Useful Text from Arbitrary HTML 从HTML文件中抽取正文的简单方案
- JavaScript DOM杂知识(value/innerHTML/innerText/textContent对比、nodeType/nodeName/nodeValue区别、获取任意类型的属性)
- javascript DOM innerHTML createElement createTextNode
- 从HTML中提取正文的简单方法
- javascript DOM innerHTML createElement createTextNode
- nodejs+express+mysql 之 简单的在线HTML编辑器
- node.js学习之用路由方法获取简单的图文html页面
- 当想把html element里面的text提取出来可以试着用正则
- 简单的将一个html(xml)文本中的img标签(图片)提取出来的方法