您的位置:首页 > Web前端 > HTML

使用HtmlParser 解析链接节点

2014-02-19 11:16 507 查看
package ch2;

import java.io.IOException;

import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.PrototypicalNodeFactory;
import org.htmlparser.tags.CompositeTag;
import org.htmlparser.tags.LinkTag;
import org.htmlparser.util.NodeList;

import ch1.Test1;

public class HyperLinkTrace {

public static void main(String[] args) throws Exception {
//加载要解析的网页
String sc=Test1.openFile("E:\\test.html");
Parser parser=new Parser(sc);
//注册新的节点解析器
PrototypicalNodeFactory factory=new PrototypicalNodeFactory();
//解析“链接”节点
factory.registerTag(new LinkTag());
//设置解析器
parser.setNodeFactory(factory);
//创建一个过滤器,过来链接节点
NodeFilter lnkFilter=new NodeFilter() {
@Override
public boolean accept(Node arg0) {
if(arg0 instanceof LinkTag){
return true;
}
return false;
}
};
//解析所有的链接节点
NodeList nlist=parser.extractAllNodesThatMatch(lnkFilter);
for (int i = 0; i < nlist.size(); i++) {
CompositeTag node=(CompositeTag)nlist.elementAt(i);
LinkTag link=(LinkTag)node;
//获取链接的地址
System.out.println(link.getLink());
}
}

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