public static List<CmsLinkParser> getHtmlUrls(String url, String pageEncoding,String include) {
List<CmsLinkParser> listClp = new ArrayList<CmsLinkParser>();
StringFiltes stringFiltes = new StringFiltes();
NodeList nodelist = null;
// String filte = "/baidu";
try {
Parser parser = new Parser(url);
parser.setEncoding(pageEncoding);
nodelist = parser.parse(new NodeClassFilter(LinkTag.class));
} catch (ParserException e) {
e.printStackTrace();
}
System.out.println(nodelist.size());
if (nodelist != null && nodelist.size() > 0) {
for (int i = 0; i < nodelist.size(); i++){
String urlLink = ((LinkTag)nodelist.elementAt(i)).extractLink().trim();
String linkName = ((LinkTag)nodelist.elementAt(i)).getLinkText().trim();
if (urlLink.indexOf("http") == 0 && linkName.trim().length() != 0&&urlLink.indexOf(include)>=0&&linkName.indexOf(CommonConstant.NOT_INCLUDE)<0){
int num = 0;
System.out.println(stringFiltes.replaceString(linkName) + ":" + urlLink);
CmsLinkParser clp = new CmsLinkParser();
clp.setLinkTitle(stringFiltes.replaceString(linkName));
clp.setLinkSrc(urlLink);
clp.setCreateTime(new Date());
listClp.add(num, clp);
num +=1;
}
}
}
return listClp;
}
本文介绍了一种从指定网页中解析并筛选符合特定条件的URL链接的方法。通过使用Parser类解析目标网页,提取所有链接标签,并进一步筛选出以'http'开头、不包含特定排除字符串且链接文本非空的URL。该过程涉及页面编码设置、节点过滤及链接信息的存储。
1467

被折叠的 条评论
为什么被折叠?



