- package org.zz.test;
- import org.htmlparser.NodeFilter;
- import org.htmlparser.Parser;
- import org.htmlparser.filters.TagNameFilter;
- import org.htmlparser.tags.LinkTag;
- import org.htmlparser.util.NodeList;
- import org.htmlparser.util.ParserException;
- import org.htmlparser.visitors.HtmlPage;
- public class ParserHtmlPage {
- public NodeList parser(String url) throws ParserException{
- /**根据url创建parser对象, || Parser parser = Parser.createParser(url,encoding)**/
- Parser parser = new Parser(url);
-
- /**设置编码,必须与url编码一样,否则挂掉 **/
- parser.setEncoding("utf-8");
-
- /** 构建一个html页面对象 **/
- HtmlPage htmlPage = new HtmlPage(parser);
- parser.visitAllNodesWith(htmlPage);
-
- /** 获取body下面所有的节点 **/
- NodeList list = htmlPage.getBody();
-
- /** 建立一个filter,用于过滤节点 **/
- NodeFilter filter = new TagNameFilter("A");
-
- /** 得到过滤后的节点 **/
- list = list.extractAllNodesThatMatch(filter, true);
-
-
- for(int c =0; c < list.size(); c ++){
- LinkTag linkTag = (LinkTag) list.elementAt(c);
- System.out.println("["+linkTag.getStringText()+"]"+linkTag.getAttribute("href"));//取得href属性的值
- //System.out.println(linkTag.getStringText());//取得链接的 文本
- }
- return list;
- }
-
- public static void main(String[] args) throws ParserException {
- ParserHtmlPage pp = new ParserHtmlPage();
- pp.parser("http://www.baidu.com");
- }
- }