关于htmlparser运用,求高手,在线等,加班的人伤不起啊!!!
我想利用HTMLparser抓取内容 抓取内容为如果页面<a>标签下有<img>标签,则获得<a>标签的href 和 <img>标签的引用图片、
如果<a>标签下不含有<img>则不获取。两个数据分别存在list集合里.
求高手啊,分不是问题。纠结了好几天了
[解决办法]
正则表达式把 你获取的 内容 一个个扣出来
[解决办法]
没感觉用HTMLParser会有啥严重的问题啊?
跟你操作DOM文档对象基本上已经是一样方便了,无非是多几个IF判断。
NodeFilter filter = new TagNameFilter("A");
nodelist = nodelist.ExtractAllNodesThatMatch(filter, true);
穷举所有A标签,然后检查该A标签下是否有IMG子标签,有就保存起来呗。
[解决办法]
String str = "<li class=\"center\"><a href=\"http://hi.csdn.net/ever089010\" target=\"_blank\" onclick='LogClickCount(this,111);'><img src=\"http://avatar.profile.csdn.net/5/3/8/2_ever089010.jpg\" onmouseover=\"try{showUserCard(this,'ever089010')}catch(ex){};\"/></a></li>" + "<li title=\"总技术分:0;总技术排名:499417\"><dfn><a href=\"http://hi.csdn.net/ever089010\" target=\"_blank\" onclick='LogClickCount(this,111);'>ever089010</a></dfn></li>" + "<li class=\"center\"><a href=\"http://hi.csdn.net/ever089010\" target=\"_blank\" onclick='LogClickCount(this,111);'><img src=\"http://avatar.profile.csdn.net/5/3/8/2_ever089010.jpg\" onmouseover=\"try{showUserCard(this,'ever089010')}catch(ex){};\"/></a></li>" + "<li title=\"总技术分:0;总技术排名:499417\"><dfn><a href=\"http://hi.csdn.net/ever089010\" target=\"_blank\" onclick='LogClickCount(this,111);'>ever089010</a></dfn></li>"; Pattern pattern = Pattern.compile("<a\\s[^<]*href=\"([^\"]*)\"\\s[^<]*<img\\s[^<]*src=\"([^\"]*)\"\\s[^<]*</a>"); Matcher matcher = pattern.matcher(str); List<String> linkList=new ArrayList<String>(); List<String> picList=new ArrayList<String>(); while (matcher.find()) { linkList.add(matcher.group(1)); picList.add(matcher.group(2)); System.out.println(matcher.group(1)); System.out.println(matcher.group(2)); System.out.println("=========="); }
[解决办法]
正则啊,楼主都没给出想抓那个网页……