htmlparser獲取網頁上所有有用鏈接的方法


public static void getAllLink(String html, String parentUrl) {
Parser parser = new Parser();
try {
parser.setInputHTML(html);
NodeFilter filter = new NodeClassFilter(LinkTag.class);
NodeList nodes = parser.parse(filter);
for (Node node : nodes.toNodeArray()) {
LinkTag linkTag = (LinkTag) node;
String link = linkTag.getLink().trim();
// 過濾,過濾方法可以添加,比如在增加只爬去本域名或本主機名下的網站等等
if (!"".equals(link)) {
//處理一下那些不是以“http://”開頭的url,比如以"/html/....或 html/...."開頭的
URI uri = new URI(parentUrl);
URI _uri = new URI(uri, link);
String newUrl = _uri.toString();
urls.add(link);
}
}

} catch (ParserException e) {
throw new RuntimeException("htmlparser解析html文件時異常" + e);
} catch (URIException e) {
e.printStackTrace();
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章