老妖的博客
现实的中没有几个人能够真为对方去死,甚至山盟海誓很快就会在金钱面前变的微不足道,这才是生活。没有永远的爱,除了你的父母对你,当然也就没有永远的恨,更没有永远的痛,时间是最好的治疗大师,它会很快抚平你心灵上累累的伤痕。很多年以后你想起来时,那些在你生命中汹涌来往的人群至多是个模糊的影子或者毫无意义的名字
posts - 105,  comments - 171,  trackbacks - 0
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.tags.TableTag;
import org.htmlparser.util.NodeList;

/**
 * <br>
 * 标题: <br>
 * 功能概要: <br>
 * 版权: cityyouth.cn (c) 2005 <br>
 * 公司:上海城市青年网 <br>
 * 创建时间:2005-12-21 <br>
 * 修改时间: <br>
 * 修改原因:
 * 
 * 
@author 张伟
 * 
@version 1.0
 
*/
public class TestYahoo {
    
public static void testHtml() {
        
try {
            String sCurrentLine;
            String sTotalString;
            sCurrentLine 
= "";
            sTotalString 
= "";
            java.io.InputStream l_urlStream;
            java.net.URL l_url 
= new java.net.URL(
                    
"http://sports.sina.com.cn/iframe/nba/live/");
            java.net.HttpURLConnection l_connection 
= (java.net.HttpURLConnection) l_url
                    .openConnection();
            l_connection.connect();
            l_urlStream 
= l_connection.getInputStream();
            java.io.BufferedReader l_reader 
= new java.io.BufferedReader(
                    
new java.io.InputStreamReader(l_urlStream));
            
while ((sCurrentLine = l_reader.readLine()) != null) {
                sTotalString 
+= sCurrentLine;
            }
            System.out.println(sTotalString);

            System.out.println(
"====================");
            String testText 
= extractText(sTotalString);
            System.out.println(testText);
        } 
catch (Exception e) {
            e.printStackTrace();
        }

    }

    
/**
     * 抽取纯文本信息
     * 
     * 
@param inputHtml
     * 
@return
     
*/
    
public static String extractText(String inputHtml) throws Exception {
        StringBuffer text 
= new StringBuffer();

        Parser parser 
= Parser.createParser(new String(inputHtml.getBytes(),
                
"8859_1"), "8859-1");
        
// 遍历所有的节点
        NodeList nodes = parser.extractAllNodesThatMatch(new NodeFilter() {
            
public boolean accept(Node node) {
                
return true;
            }
        });
        Node node 
= nodes.elementAt(0);
        text.append(
new String(node.toPlainTextString().getBytes("8859_1")));
        
return text.toString();
    }

    
/**
     * 读取文件的方式来分析内容. filePath也可以是一个Url.
     * 
     * 
@param resource
     *            文件/Url
     
*/
    
public static void test5(String resource) throws Exception {
        Parser myParser 
= new Parser(resource);

        
// 设置编码
        myParser.setEncoding("GBK");
        String filterStr 
= "table";
        NodeFilter filter 
= new TagNameFilter(filterStr);
        NodeList nodeList 
= myParser.extractAllNodesThatMatch(filter);
        TableTag tabletag 
= (TableTag) nodeList.elementAt(11);
            
            System.out.println(tabletag.toHtml());
            
            System.out.println(
"==============");

    }

    
/*
     * public static void main(String[] args) { TestYahoo testYahoo = new
     * TestYahoo(); testYahoo.testHtml(); }
     
*/
    
public static void main(String[] args) throws Exception {
        test5(
"http://sports.yahoo.com/nba/scoreboard");
    }
}
posted on 2005-12-21 22:35 老妖 阅读(24399) 评论(30)  编辑  收藏 所属分类: java心得

FeedBack:
# re: 利用htmlparser抓取网页内容(一)
2005-12-23 09:05 | 1
1  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2005-12-24 12:04 | 111
好文,继续贯注,快发(二)吧.  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2006-05-18 17:16 | 第六世纪
<link href='/c06/css.css' text='text/css' rel='stylesheet' />

如何解析出/c06/css.css 呢?

htmlparser不识别link 和script标签  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2006-06-06 20:58 | xvg
can I make friends with you  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2006-06-06 20:59 | xvg
my msn: thron_xv@msn.com
QQ: 59346219  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2006-07-04 17:50 | 斯瓦伊安
Proxy要怎麼設 連線無法連出  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2006-07-20 16:06 | 斯瓦伊安
ConnectionManager cm = new ConnectionManager();
cm.setProxyHost("XXX.XXX.XXX.XXX");
cm.setProxyPort(8080);
  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2006-09-05 10:08 | max
htmlparser可以抓取动态生成的链接么?比如由表单所临时返回的响应等。  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-01-24 11:18 | hunhun
你们这些人真无聊,就不回自己写点东西 。就知道弄别人的东西转载
百度一搜全一样 都来自一个地方 。  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-05-09 22:59 | 监听器
谁规定不能转的?  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-08-25 16:12 | 内容被禁止显示
顶一个,不错  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-08-25 16:13 | 监听器
不错不错  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-09-19 14:19 | 新开征途私服
转载文章可以让更多的人看到  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-09-19 14:19 | 征途私服
转载无罪,有罪的是剽窃和抄袭的  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-11-05 13:51 | 内容被禁止显示
好东西  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-11-05 13:52 | 监听器
恩好  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
# re: 利用htmlparser抓取网页内容(一)
# re: 利用htmlparser抓取网页内容(一)
2007-11-29 16:34 | 11xp
gdfgdfgdfgdfg  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-11-30 09:52 | 11sss
vzxcvxc  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-11-30 09:53 | 44xp
fzsdvcxzv  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2007-12-25 13:48 | gengqian
qianqian1216@gmail.com
我想学学给我发一个完整的小例子好吗,谢了老兄  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)[未登录]
2008-01-22 17:28 | hehe
详细点好吗  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2008-01-28 18:21 | tarzan
能详细点就更好了  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2008-02-21 10:06 | zhade
写的真好!  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2008-03-11 15:14 | link
# re: 利用htmlparser抓取网页内容(一)
2009-06-16 12:57 | springbird
高手你好,可否发一个用htmlparser解析网页的小例子,要求提取网页内的标题,作者,正文,提取的网页是纯文本的,谢谢,我的邮箱是springbird2006@126.com  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)[未登录]
2009-10-09 14:09 | 三少
http://www.gbsou.com
可以交换链接不 兄弟 我也是做j2ee的  回复  更多评论
  
# re: 利用htmlparser抓取网页内容(一)
2012-01-04 17:02 | S771880049
都一样  回复  更多评论
  

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


网站导航:
 

<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

随笔分类(48)

随笔档案(104)

好友链接

我的豆瓣

积分与排名

  • 积分 - 219790
  • 排名 - 257

最新评论

阅读排行榜