java解析html取table里面的内容,

J2EE 码拜 9年前 (2015-05-11) 760次浏览 0个评论
 

<BODY leftmargin=”1″ topmargin=”1″ onload=”javascript:resizeMe()”>
<CENTER><a href=”http://www.ip138.com” target=”_blank”><FONT class=tdc>手机号码归属地专业在线查询网</FONT></a>
</CENTER>
<HR SIZE=1 width=320>
<TABLE width=”360″ border=1 align=”center” cellPadding=4 borderColor=#3366cc style=”BORDER-COLLAPSE: collapse”>
<FORM action=”” method=”get” name=”mobileform” onsubmit=”return checkMobile();”>
<TR bgColor=#eff1f3 class=tdc>
<TD align=middle width=130 noswap>手机号码(段) </TD>
<TD align=middle width=*><INPUT class=tdc name=”mobile” maxLength=”11″>
<INPUT name=”action” type=”hidden” value=”mobile”>&nbsp;<INPUT class=”bdtj” type=”submit” value=”查 询”>
</TD>
</TR>
</FORM>
</TABLE>
<BR>

<TABLE width=”360″ border=”1″ align=”center” cellpadding=”4″ bordercolor=#3366cc style=”border-collapse: collapse”>
<TR>
<TD colspan=2 class=tdc1 align=center height=24 bgcolor=#6699cc>++ ip138.com查询结果 ++</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD width=”138″ align=”center” noswap>您查询的手机号码段</TD>
<TD width=* align=”center” class=tdc2>1821***** <a href=”http://jx.ip138.com/182172****/” target=”_blank”>测吉凶(<font color=”red”>新</font>)</a></TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD width=”138″ align=”center” noswap>卡号归属地</TD>
<TD width=* align=”center” class=tdc2>上海&nbsp;上海</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD width=”138″ align=”center” noswap>卡&nbsp;类&nbsp;型</TD>
<TD width=* align=”center” class=tdc2>上海移动全球通卡</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align=”center”>区 号</TD>
<TD align=”center” class=tdc2>021</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align=”center”>邮 编</TD>
<TD align=”center” class=tdc2>200000 <a href=”http://alexa.ip138.com/post/” target=”_blank”>更详细的..</a></TD></TR>
</TABLE>
我要解析这个里面的结果,拿到table里面的数据,比喻拿到卡号归属地:上海,卡类型:全球通,这个怎么做了?

20分
两种方式:
  1、用htmlparse,网上查一下吧,一个开源的包,解析修改html很强大,效率也不错。
  2、如果不用修改,用正则很简单。使用正则代码如下:

Pattern pattern = Pattern.compile(regex,Pattern.DOTALL);//regex为你要解析的正则
Matcher matcher = pattern.matcher(source);//source为html源码

while (matcher.find()) {
	list.add(matcher.group(1));//group(i),i表示正则里面从前到后第几个括号里的内容,i为0表示解析到的整个正则内容
}
引用楼主  的回复:

<BODY leftmargin=”1″ topmargin=”1″ onload=”javascript:resizeMe()”>
<CENTER><a href=”http://www.ip138.com” target=”_blank”><FONT class=tdc>手机号码归属地专业在线查询网</FONT></a>
</CENTER>
<HR SIZE=1 width=320>
……

我就是不知道用才发帖的嘛,哎。、。。。

引用 1 楼  的回复:

两种方式:
  1、用htmlparse,网上查一下吧,一个开源的包,解析修改html很强大,效率也不错。
  2、如果不用修改,用正则很简单。使用正则代码如下:
Java code

Pattern pattern = Pattern.compile(regex,Pattern.DOTALL);//regex为你要解析的正则
Matcher matcher = pattern.matc……

就你了啊

引用 1 楼 gdhapple 的回复:

两种方式:
  1、用htmlparse,网上查一下吧,一个开源的包,解析修改html很强大,效率也不错。
  2、如果不用修改,用正则很简单。使用正则代码如下:

Pattern pattern = Pattern.compile(regex,Pattern.DOTALL);//regex为你要解析的正则
Matcher matcher = pattern.matcher(source);//source为html源码

while (matcher.find()) {
	list.add(matcher.group(1));//group(i),i表示正则里面从前到后第几个括号里的内容,i为0表示解析到的整个正则内容
}

顶,虽然熟悉正则表达式,却没想到使用正则表达式,谢。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java解析html取table里面的内容,
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!