日期:2014-05-20  浏览次数:20911 次

help!!!关于htmlparser解析新闻网页的
小弟最近在研究htmlparser解析新闻网页的问题,我试图获取新闻的正文内容,用ParagraphTag截取的内容只是tag<p>和</p>之间的内容,但是,不同的新闻门户网站发布新闻的格式不同,不是所有新闻网站都把新闻正文放在<p>和</p>之间,也不是<p>和</p>之间都放得新闻正文。因此,在解析的时候还得正对不同的网站写不同的代码
  也有考虑过正则表达式截取字符串,但找不到思路。
  希望各位大侠能够不吝赐教,提点意见也好啊,不胜感激哇~~~

------解决方案--------------------
你可以根据不同的网站, 写不同的正则表达式就可以, 一个网站对应一个或几个表达式,parse的时候直接传给parser就可以了
------解决方案--------------------
Java code

public String FileText(File html) {
        String htmlPath = html.getAbsolutePath();
        String text = "";
        Parser parser = null;
        try {
            parser = new Parser(htmlPath);
        } catch (ParserException e) {
            e.printStackTrace();
        }
        try {
            parser.setEncoding("UTF-8");
        } catch (ParserException e) {
            e.printStackTrace();
        }
        HtmlPage visitor = new HtmlPage(parser);
        try {
            parser.visitAllNodesWith(visitor);
        } catch (ParserException e) {
            e.printStackTrace();
        }
        NodeList nodes = visitor.getBody();
        int size = nodes.size();
        for (int i = 0; i < size; i++) {
            Node node = nodes.elementAt(i);
            text += node.toPlainTextString();
        }
        return text;
    }

------解决方案--------------------
探讨

呵呵,我是菜鸟呀。。。
1) http://www.srzc.com/news/srxw/xinjiangshiping/2011/0308/93860.html
2) http://news.sohu.com/20110309/n279732654.shtml
3) http://news.hexun.com/2011-03-09/127803212.html
暂且就看这三个新闻网页吧。。。。求大师提示……