如鹏网 大学生计算机学习社区

CowNew开源团队

http://www.cownew.com 邮件请联系 about521 at 163.com

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  363 随笔 :: 2 文章 :: 808 评论 :: 0 Trackbacks

公告

“如鹏教育”(http://www.RuPeng.com )是一个为计算机、信息等IT类专业在校大学生服务的学习社区。 每周举办免费讲座,为大一新生答疑解惑,帮大二、大三学生解决学习问题,帮同学提高实战开发能力,帮大四学生增强求职技巧,成功应聘名企。

常用链接

留言簿(83)

随笔分类

随笔档案

新闻档案

相册

友情链接

团队成员

搜索

最新评论

阅读排行榜

评论排行榜

package com.rupeng.search.discuz;

import java.net.URLConnection;

import org.htmlparser.Parser;
import org.htmlparser.Tag;
import org.htmlparser.tags.Div;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.HtmlPage;
import org.htmlparser.visitors.NodeVisitor;

public class DiscuzDefaultStyleHTMLParser
{
 private String title;
 private String bodyText;

 public DiscuzDefaultStyleHTMLParser(URLConnection urlConnection) throws ParserException
 {
  Parser parser = new Parser(urlConnection);
  HtmlPage visitor = new HtmlPage(parser);
  parser.visitAllNodesWith(visitor);
  this.title = visitor.getTitle();
  NodeList nodeList = visitor.getBody();
  final StringBuffer sb = new StringBuffer();
  nodeList.visitAllNodesWith(new NodeVisitor() {

   @Override
   public void visitTag(Tag tag)
   {
    //因为主题、回帖都是包含在Div里,而且主题、回帖的divid都是以“postmessage_”开头
    if (tag instanceof Div)
    {
     Div div = (Div) tag;
     String divId = div.getAttribute("id");
     if (divId != null&& divId.startsWith("postmessage_"))
     {
      sb.append(div.getStringText());
     }
    }
   }
  });

  this.bodyText = sb.toString();
 }

 public String getTitle()
 {
  return title;
 }

 public String getThreadText()
 {
  return bodyText;
 }
}

posted on 2009-08-13 19:26 CowNew开源团队 阅读(687) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: