求htmlparser高手,我想取得<p>标签中的文本,但是要移除<<a href=".."中的文本。
我想取得 <p> 标签中的文本,但是要移除 <a href= ".. "中的文本。我想要抓取一个新闻页中的正文,我发现90%就是的新闻页正文都写在 <p> 标签中,于是我就提取 <p> 下的文本,但是发现有的网站 <p> 下还有 <a href= ".. "> 广告 <a> ,我想把 "广告 "去掉怎么做啊,试了好久。谢谢。
private String extractPText(String content) {
String ptext = " ";
try {
Parser parser = new Parser(content);
parser.setEncoding( "GB2312 ");
TagNameFilter filter = new TagNameFilter( "p ");
NodeList nodelist = parser.extractAllNodesThatMatch(filter);
System.out.println( "p数量 " + nodelist.size());
for (int i = 0; i < nodelist.size(); i++) {
NodeList nodelistA = nodelist.extractAllNodesThatMatch(filterA);
if(nodelist.elementAt(i).getChildren().toHtml().contains( "a ")){
nodelist.remove(i);
}
TextExtractingVisitor visitor = new TextExtractingVisitor();
nodelist.visitAllNodesWith(visitor);
ptext = visitor.getExtractedText();
} catch (Exception e) {
e.printStackTrace();
}
return ptext.trim();
}
------解决方案--------------------没遇过,up
------解决方案--------------------HTTPParser 解析HTML中的Table的行列 手工设定需要解析的table
http://blog.csdn.net/eqxu/archive/2007/06/06/1640699.aspx
用html parser 来获取HTML网页中Form的各个属性名 值组
http://blog.csdn.net/eqxu/archive/2007/05/29/1629820.aspx
------解决方案--------------------up
------解决方案--------------------你这个最好用正则来做,首先匹配 <p> 然后匹配 <a> 就可以,具体的你查查资料吧