BaoYaEr
利用htmlparser抓取网页内容
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;
public
class
TestYehoo
{
public
static
String testHtml()
{
String testText
=
""
;
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(
"
====================
"
);
testText
=
extractText(sTotalString);
System.out.println(testText);
}
catch
(Exception e)
{
e.printStackTrace();
}
return
testText;
}
/** */
/**
* 抽取纯文本信息
*
*
@param
inputHtml
*
@return
*/
public
static
String extractText(String inputHtml)
throws
Exception
{
StringBuffer text
=
new
StringBuffer();
Parser parser
=
Parser.createParser(
new
String(inputHtml.getBytes(),
"
UTF-8
"
) );
//
遍历所有的节点
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(
"
UTF-8
"
)));
return
text.toString();
}
/** */
/**
* 读取文件的方式来分析内容. filePath也可以是一个Url.
*
*
@param
resource
* 文件/Url
*/
public
static
void
test5(String resource)
throws
Exception
{
Parser myParser
=
new
Parser(
"
http://sports.sina.com.cn/iframe/nba/live/
"
);
//
设置编码
myParser.setEncoding(
"
GBK
"
);
String filterStr
=
"
table
"
;
NodeFilter filter
=
new
TagNameFilter(filterStr);
NodeList nodeList
=
myParser.extractAllNodesThatMatch(filter);
TableTag tabletag
=
(TableTag) nodeList.elementAt(
2
);
System.out.println( tabletag );
}
/**/
/*
* public static void main(String[] args) { TestYahoo testYahoo = new
* TestYahoo(); testYahoo.testHtml(); }
*/
public
static
void
main(String[] args)
throws
Exception
{
test5(
"
http://sports.sina.com.cn/iframe/nba/live/
"
);
}
}
结果:
TableTag
********
<
table
width
="750"
border
="0"
cellspacing
="0"
cellpadding
="0"
>
<
tr
>
<
td
bgcolor
="#990000"
height
="26"
style
="padding-left:10px;"
><
font
color
="#ffffff"
>
<
b
class
="f14"
><
a
href
="http://nba.sports.sina.com.cn/index.php"
class
="a01"
>
NBA数据库
</
a
></
b
>
|
<
a
href
="http://nba.sports.sina.com.cn/live.php"
class
="a01"
>
比分直播
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/match_result.php"
class
="a01"
>
赛程赛果
</
a
>
|
<
a
class
="a01"
>
赛季总结
</
a
>
|
<
a
class
="a01"
>
交战记录
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/league_order.php"
class
="a01"
>
赛季排名
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/order.php"
class
="a01"
>
统计排行
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/arena.php"
class
="a01"
>
球员擂台
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/team_order.php"
class
="a01"
>
近期战绩
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/teams.php"
class
="a01"
>
球队
</
a
>
|
<
a
href
="http://nba.sports.sina.com.cn/players.php"
class
="a01"
>
球员
</
a
>
|
<
a
href
="http://sports.sina.com.cn/nba/"
class
="a01"
>
NBA专题
</
a
></
font
></
td
>
</
tr
>
</
table
>
发表于 2007-05-28 13:34
大田斗
阅读(1896)
评论(0)
编辑
收藏
所属分类:
开源opensource
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
mule事件驱动服务
XPath语法
mule示例分析
在xml的汪洋中遨游之mule篇
EqualsBuilder和HashCodeBuilder
webservice cfx学习
JTA事务初级研究
JAVA 对象池
mina中文教程
spring+atomikos+JTA完整例子
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
导航
BlogJava
首页
发新随笔
发新文章
联系
聚合
管理
统计
随笔: 32
文章: 427
评论: 144
引用: 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔档案
2008年12月 (1)
2008年4月 (2)
2008年2月 (1)
2008年1月 (1)
2007年12月 (3)
2007年11月 (1)
2007年10月 (3)
2007年7月 (2)
2007年6月 (1)
2007年4月 (2)
2007年3月 (3)
2007年2月 (5)
2007年1月 (3)
2006年12月 (4)
文章分类
axis(6)
(rss)
eclipse(7)
(rss)
Hibernate(30)
(rss)
html/js/css(107)
(rss)
java(106)
(rss)
linux(7)
(rss)
Lucene(7)
(rss)
spring(36)
(rss)
Spring CLOUd(1)
(rss)
Strtus(30)
(rss)
其它(48)
(rss)
开源opensource(48)
(rss)
数据库DateBase(30)
(rss)
设计模式(12)
(rss)
文章档案
2018年8月 (1)
2012年5月 (1)
2012年4月 (2)
2011年7月 (6)
2010年3月 (1)
2010年2月 (1)
2010年1月 (3)
2009年12月 (1)
2009年10月 (1)
2009年8月 (3)
2009年3月 (1)
2009年2月 (1)
2008年12月 (3)
2008年11月 (10)
2008年10月 (3)
2008年9月 (2)
2008年8月 (2)
2008年7月 (4)
2008年6月 (13)
2008年5月 (15)
2008年4月 (9)
2008年3月 (10)
2008年1月 (18)
2007年12月 (33)
2007年11月 (6)
2007年10月 (18)
2007年9月 (10)
2007年8月 (18)
2007年7月 (15)
2007年6月 (25)
2007年5月 (19)
2007年4月 (26)
2007年3月 (38)
2007年2月 (33)
2007年1月 (27)
2006年12月 (27)
2006年11月 (12)
java
Ajax特效网站
cndiy nio
GRO
Hani Suleiman's blog
Java之路
java论坛
J道
mule
mule 入门
oksonic(动画教程)
一路由你
中国eclipse
八进制
在线源码
多线程实战
天火
小米的blogjava
幻境伯克----jface/swt
很全的博克-强
每日一得
满江红
邢红瑞
飞翔
鸟诗选(js)
鸟食轩 (dhtml)
工具
apache中文手册
extjs学习
iconFindre
java 安全
javaresearch
java技巧网
js之王
matrix(study)
prototype api
spring中文
北京IT企业速查
在线流程图工具
雅虎翻译
朋友
Happyshow
hibernate异常
skywalker
sunshow
xf
亚光
同云博客
小弟鹏
张玉磊
昕
李阳
黄鸣
搜索
积分与排名
积分 - 1098460
排名 - 28
最新评论
1. re: hibernate.cfg.xml配置
好全啊 .. 棒棒哒 ~ !
--junqinag.yang
2. re: Quartz任务调度快速入门
我现在来看还是觉得不错
--小任
3. re: js中this的总结
评论内容较长,点击标题查看
--pam
4. re: Quartz任务调度快速入门
楼主辛苦
--yd
5. re: Quartz任务调度快速入门
顶了,内容写的很好
--sen
阅读排行榜
1. 网页不缓存(3536)
2. Form嵌套引起的问题 (2830)
3. 解决IE下CSS背景图片闪烁的Bug(2432)
4. Spring AOP的动态载入原理(2394)
5. 如何制作漂亮的Excel表格(2022)
评论排行榜
1. 北京户口--吃官司(5)
2. 开始→运行→输入的命令集锦(3)
3. 让网页上的所有图片动起来(2)
4. Dom4j 编码问题彻底解决 (1)
5. 心情不爽(1)