如题,例如我需要抓取<table class='mystyle'> </table>之间的内容,在一个网页中有很多这样的table,需要将其中的内容都提取出来,用什么方法比较利于重用?
------解决方案--------------------------------------------------------
使用HTMLParser解析html。
Parser parser = xxx;
parser.reset();
NodeFilter filter1 = new TagNameFilter("table");
NodeFilter filter2 = new HasAttributeFilter("class", "mystyle");
NodeFilter filter = new AndFilter(filter1, filter2);
nodeList = parser.extractAllNodesThatMatch(filter);
要不就写正则,如果table里还嵌套其他的table,估计不好写。
------解决方案--------------------------------------------------------
- Java code
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);Matcher matcher = pattern.matcher("<table class=\"mystyle\">需要获取的内容</table>String string = matcher.replaceAll("");System.out.println(string);