针对HTML抽取,相信很多人都听说过或者使用过HtmlParser。
htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。不能说它能超高速解析html,但他的解析质量比较好,不容易出错。毫不夸张地说,htmlparser就是目前功能最强大的java html解析和分析的工具。
HtmlParser项目网站:http://htmlparser.sourceforge.net/.
入门学习HtmlParser的不妨参考《HtmlParser使用入门》这篇博客,当然一些使用技巧,也可参考《HTMLParser 学习》、《HTMLParser使用》等等。
以下是一个简单的HtmlParser使用例子,用于读取Html页面上的所有文本。
1 package org.htmlparser; 2 import java.io.File; 3 import java.io.FileOutputStream; 4 import org.htmlparser.Parser; 5 import org.htmlparser.lexer.Cursor; 6 import org.htmlparser.nodes.TagNode; 7 import org.htmlparser.util.NodeIterator; 8 import org.htmlparser.util.NodeList; 9 10 public class SimpleHtmlparse { 11 public static void main(String args[]) throws Exception{ 12 13 Parser parser = new Parser ("D:\\HTML1.htm"); 14 //Parser parser = new Parser ("I:\\bbb.htm"); 15 parser.setEncoding("GBK"); 16 NodeList list = parser.parse (null); 17 String str = list.toString(); 18 System.out.println(str); 19 20 FileOutputStream output=new FileOutputStream(new File("d:\\1.txt")); 21 byte b[]=str.getBytes(); 22 for(int i:b){ 23 output.write(i); 24 } 25 output.close(); 26 } 27 }
其实,针对Html的解析,深入研究HtmlParser会有很多收获的。