我想取得<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();
}
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();
}
解决方案 »
- [求助]SWT中Tree控件的使用,如何设置Tree控件的展开层级
- Hibernate3 sequence 问题,急!!!!
- 很基础的问题,float,double的定义?
- 用C或delphi实现DES加密用JAVA不能解密,一个简单而又复杂的问题,高手请进!
- 如何调用LIST返回类型的函数
- 一个很简单的对话框之间的关联问题
- Calebdar与Date的问题,救命啊
- java如何识别一个字符串里面有没有中文字符?
- ???在java怎样声明、创建象C语言中的结构体(struct)变量???在线等待
- 100分:请各位前辈列举JAVA应用的典型案例.谢谢!
- 问个安装VSS的问题
- 加了图片选取框,反倒图片又不显示了。
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