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();
}
}
htmlparser获取网页上所有有用链接的方法
最新推荐文章于 2020-12-30 15:09:38 发布