我以前都是读文件,今天第一次读HTML文件,头要求把里面的数据读出来,但我却被里面的标签卡住了,原文件代码是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0137)http://202.108.250.203/inquire/price.php?qstr=机械&imagenum=FN9KJX&image_value=VkBQSFI+UhwDG10F&submit=1&Submit2=%BE%BA%BC%DB%B2%E9%D1%AF -->
<HTML><HEAD><TITLE>十分似的</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=Pragma content=no-cache>
<META http-equiv=expires content="Wed, 26 Feb 2000 08:00:00 GMT">
<STYLE type=text/css>A {
COLOR: #0000ff; TEXT-DECORATION: none
}
A:active {
COLOR: red; TEXT-DECORATION: underline
}
A:hover {
COLOR: red; TEXT-DECORATION: underline
}
P {
FONT-SIZE: 12px; TEXT-INDENT: 18pt; LINE-HEIGHT: 13pt
}
LI {
LIST-STYLE-POSITION: outside; FONT-SIZE: 9pt; COLOR: #111111; LINE-HEIGHT: 13pt
}
TD {
FONT-SIZE: 9pt; COLOR: #111111; LINE-HEIGHT: 13pt
}
SELECT {
FONT-SIZE: 9pt; COLOR: #111111; LINE-HEIGHT: 13pt
}
H3 {
COLOR: #333333
}
.h4_center {
FONT-SIZE: 12px; COLOR: #333333; BACKGROUND-COLOR: #e6e8e0; TEXT-ALIGN: center
}
.td_background {
FONT-SIZE: 12px; COLOR: #3f3f3f; LINE-HEIGHT: 13pt; BACKGROUND-COLOR: #f7f7f4; TEXT-ALIGN: center
}
.font_9pt {
FONT-SIZE: 12px
}
.font_14px {
FONT-SIZE: 14px
}
.button {
BORDER-RIGHT: #2b4786 1px solid; BORDER-TOP: #e6f1fd 2px solid; FONT-SIZE: 13px; BORDER-LEFT: #e6f1fd 2px solid; COLOR: #003366; BORDER-BOTTOM: #2b4786 1px solid; HEIGHT: 22px; BACKGROUND-COLOR: #d6dee7
}
.gridpad {
PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
</STYLE><META content="MSHTML 6.00.2800.1498" name=GENERATOR></HEAD>
<BODY bgColor=#f4f7f4>
<CENTER><FONT color=#3f3f3f>请输入您要查询的关键字</FONT> 
<P>
<FORM action=price.php method=post><INPUT value=机械 name=qstr> <INPUT type=hidden 
value=1 name=submit>&nbsp;<INPUT type=submit value=" 查 询 "> <BR>请输入图形验证码:<INPUT 
size=15 name=imagenum> <INPUT type=hidden value=Bm5UVlNBURJXQ1oS 
name=image_value> <IMG height=40 hspace=5 src="士大夫士大夫.files/regimage.jpg" 
width=250 border=1> </FORM>(这里只显示已通过审查的信息,不包括审查中的信息)
<P>关键字 <FONT color=red>机械</FONT> 当前的竞价情况为:<BR><BR>
<P><!------ BLOCK: 关键字信息块 ----->
<TABLE width="100%">
  <TBODY>
  <TR>
    <TD width=90>
      <DIV align=right>当前排名:</DIV></TD>
    <TD align=left>第 1 名</TD></TR>
  <TR>
    <TD width=90>
      <DIV align=right>网站名称:</DIV></TD>
    <TD align=left>士大夫士大夫士大夫法</TD></TR>
  <TR>
    <TD align=right>URL 地址:</TD>
    <TD align=left><A 
  href="http://www.xkzd.com/">http://www.xkzd.com/</A></TD></TR>
  <TR>
    <TD align=right>价格:</TD>
    <TD align=left>¥ 0.79 元</TD></TR>
  <TR>
    <TD height=10></TD></TR></TBODY></TABLE>
<TABLE width="100%">
  <TBODY>
  <TR>
    <TD width=90>
      <DIV align=right>当前排名:</DIV></TD>
    <TD align=left>第 2 名</TD></TR>
  <TR>
    <TD width=90>
      <DIV align=right>网站名称:</DIV></TD>
    <TD align=left>北京青云提供精密机械加工和机械制造</TD></TR>
  <TR>
    <TD align=right>URL 地址:</TD>
    <TD align=left><A 
      href="http://www.balancingmachine.com.cn/">http://www.balancingmachine.com.cn/</A></TD></TR>
  <TR>
    <TD align=right>价格:</TD>
    <TD align=left>¥ 0.78 元</TD></TR>
  <TR>
    <TD height=10></TD></TR></TBODY></TABLE>
<TABLE width="100%">
  <TBODY>
  <TR>
    <TD width=90>
      <DIV align=right>当前排名:</DIV></TD>
    <TD align=left>第 3 名</TD></TR>
  <TR>
    <TD width=90>
      <DIV align=right>网站名称:</DIV></TD>
    <TD align=left>蒙阴钻探机械厂</TD></TR>
  <TR>
    <TD align=right>URL 地址:</TD>
    <TD align=left><A 
      href="http://www.mengtan.com/">http://www.mengtan.com/</A></TD></TR>
  <TR>
    <TD align=right>价格:</TD>
    <TD align=left>¥ 0.77 元</TD></TR>
  <TR>
    <TD height=10></TD></TR></TBODY></TABLE>
<TABLE width="100%">
  <TBODY>
  <TR>
    <TD width=90>
      <DIV align=right>当前排名:</DIV></TD>
    <TD align=left>第 4 名</TD></TR>
  <TR>
    <TD width=90>
      <DIV align=right>网站名称:</DIV></TD>
    <TD align=left>回转寿司输送带</TD></TR>
  <TR>
    <TD align=right>URL 地址:</TD>
    <TD align=left><A 
      href="http://www.sanheqin.com/gsjj.htm">http://www.sanheqin.com/gsjj.htm</A></TD></TR>
  <TR>
    <TD align=right>价格:</TD>
    <TD align=left>¥ 0.76 元</TD></TR>
  <TR>
    <TD height=10></TD></TR></TBODY></TABLE>
    <TD height=10></TD></TR></TBODY></TABLE></P></CENTER></BODY></HTML>
怎么样把里面的排名,网站名称,URL地址,价格读出来,(插数据库就不要麻烦你们了,)我现在就是分析不出来,头给我一个HTML文件,以上是他的源代码,谢谢大家了....在线等..........

解决方案 »

  1.   

    实在不行就自己用String处理一下也可以啊  感觉不难哦
      

  2.   

    给你HTML标签表,看完就明白了总类(所有HTML文件都有的) 
    文件类型 <HTML></HTML> (放在档案的开头与结尾) 
    文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 
    文头 <HEAD></HEAD> (描述性资料,像是「主题」) 
    文体 <BODY></BODY> (文件本体) 
    ---------------------------------------- 
    结构性定义(由浏览器控制的显示风格) 
    标题 <H?></H?> (从1到6,有六层选择) 
    3.0 标题的对齐 <H? ALIGN=LEFT|CENTER|RIGHT></H?> 
    3.0 区分 <DIV></DIV> 
    3.0 区分的对齐 <DIV ALIGN=LEFT|RIGHT|CENTER|JUSTIFY></DIV> 
    引文区块 <BLOCKQUOTE></BLOCKQUOTE> (通常会内缩) 
    强调 <EM></EM> (通常会以斜体显示) 
    特别强调 <STRONG></STRONG> (通常会以加粗显示) 
    引文 <CITE></CITE> (通常会以斜体显示) 
    码 <CODE></CODE> (显示原始码之用) 
    样本 <SAMP></SAMP> 
    键盘输入 <KBD></KBD> 
    变数 <VAR></VAR> 
    定义 <DFN></DFN> (有些浏览器不提供) 
    地址 <ADDRESS></ADDRESS> 
    3.0 大字 <BIG></BIG> 
    3.0 小字 <SMALL></SMALL> 
    ---------------------------------------- 
    与外观相关的标签(作者自订的表现方式) 
    加粗 <B></B> 
    斜体 <I></I> 
    3.0 底线 <U></U> (尚有些浏览器不提供) 
    3.0 删除线 <S></S> (尚有些浏览器不提供) 
    3.0 下标 <SUB></SUB> 
    3.0 上标 <SUP></SUP> 
    打字机体 <TT></TT> (用单空格字型显示) 
    预定格式 <PRE></PRE> (保留文件中空格的大小) 
    预定格式的宽度 <PRE WIDTH=?></PRE>(以字元计算) 
    N1.0+ 向中看齐 <CENTER></CENTER> (文字与图片都可以) 
    N1.0 闪耀 <BLINK></BLINK> (有史以来最被嘲弄的标签) 
    N1.0 字体大小 <FONT SIZE=?></FONT>(从1到7) 
    N1.0 改变字体大小 <FONT SIZE=+|-?></FONT> 
    N1.0 基本字体大小 <BASEFONT SIZE=?> (从1到7; 内定为3) 
    N2.0 字体颜色 <FONT COLOR="#$$$$$$"></FONT> 
    --------------------------------------- 
    连结与图形 
    连结 <A HREF="URL"></A> 
    连结到锚点 <A HREF="URL#***"></A>(如果锚点在另一个档案) 
    <A HREF="#***"></A> (如果锚点目前的档案) 
    N2.0 连结到目的视框 <A HREF="URL" TARGET="***"></A> 
    设定锚点 <A NAME="***"></A> 
    图形 <IMG SRC="URL"> 
    图形看齐方式 <IMG SRC="URL" ALIGN=TOP|BOTTOM|MIDDLE> 
    N1.0 图形看齐方式 <IMG SRC="URL" 
    ALIGN=LEFT|RIGHT|TEXTTOP|ABSMIDDLE|BASELINE|ABSBOTTOM> 
    取代文字 <IMG SRC="URL" ALT="***"> (如果没有办法显示图形则显示此文字) 
    点选图 <IMG SRC="URL" ISMAP> (需要CGI程式) 
    N2.0 点选图 <IMG SRC="URL" USEMAP="URL"> 
    N2.0 地图 <MAP NAME="***"></MAP>(描述地图) 
    N2.0 段落 <AREA SHAPE="RECT" COORDS=",,," HREF="URL"|NOHREF> 
    3.0 大小 <IMG SRC="URL" WIDTH="?" HEIGHT="?">(以pixels为单位) 
    N1.0 图形边缘 <IMG SRC="URL" BORDER=?> (以pixels为单位) 
    N1.0 图形边缘空间 <IMG SRC="URL" HSPACE=? VSPACE=?> (以pixels为单位) 
    N1.0 低解析度图形 <IMG SRC="URL" LOWSRC="URL"> 
    N1.1 用户端拉 <META HTTP-EQUIV="Refresh" CONTENT="?; URL=URL">(使用端自动更新 ) 
    N2.0 内嵌物件 <EMBED SRC="URL"> (将物件插入页面) 
    N2.0 内嵌物件大小 <EMBED SRC="URL" WIDTH="?" HEIGHT="?"> 
    -------------------------------------- 
    分隔 
    段落 <P> (通常是两个return) 
    3.0 段落 <P></P> (新定义成容器型标签) 
    3.0 文字看齐方式 <P ALIGN=LEFT|CENTER|RIGHT></P> 
    换行 <BR> (一个return) 
    N1.0 文字部份看齐方式<BR CLEAR=LEFT|RIGHT|ALL>(与图形合用时) 
    横线 <HR> 
    N1.0 横线对齐 <HR ALIGN=LEFT|RIGHT|CENTER> 
    N1.0 横线厚度 <HR SIZE=?> (以pixels为单位) 
    N1.0 横线宽度 <HR WIDTH=?> (以pixels为单位) 
    N1.0 横线比率宽度 <HR WIDTH=%> (以页宽为100%) 
    N1.0 实线 <HR NOSHADE> (没有立体效果) 
    N1.0 不可换行 <NOBR></NOBR> (不换行) 
    N1.0 可换行处 <WBR> (如果需要,可在此断行) 
    -------------------------------------- 
      

  3.   

    列举 (可以巢状列举) 
    无次序式列举 <UL><LI></UL> (<LI> 放在每一项前) 
    N1.0 公布式列举 <UL TYPE=DISC|CIRCLE|SQUARE>(定义全部的列举项) 
    <LI TYPE=DISC|CIRCLE|SQUARE>(定义这个及其後的列举项) 
    有次序式列举 <OL><LI></OL> (<LI> 放在每一项前) 
    N1.0 数标型态 <OL TYPE=A|a|I|i|1> (定义全部的列举项) 
    <LI TYPE=A|a|I|i|1> (定义这个及其後的列举项) 
    N1.0 起始数字 <OL value=?> (定义全部的列举项) 
    <LI value=?> (定义这个及其後的列举项) 
    定义式列举 <DL><DT><DD></DL>(<DT>项目, <DD>定义) 
    表单式列举 <MENU><LI></MENU>(<LI> 放在每一项前) 
    目录式列举 <DIR><LI></DIR> (<LI> 放在每一项前) 
    -------------------------------------- 
    背景与颜色 
    3.0 重复排列的背景 <BODY BACKGROUND="URL"> 
    N1.1+ 背景颜色 <BODY BGCOLOR="#$$$$$$"> (依序为红、 绿、蓝) 
    N1.1+ 文字颜色 <BODY TEXT="#$$$$$$"> 
    N1.1+ 连结颜色 <BODY LINK="#$$$$$$"> 
    N1.1+ 看过的连结 <BODY VLINK="#$$$$$$"> 
    N1.1 使用中的连结 <BODY ALINK="#$$$$$$"> 
    -------------------------------------- 
    特殊字元(以下标签需用小写) 
    特别符号 &#?; (其中 ? 代表 ISO 8859-1 的编码) 
    < < > > & & " " 
    注册商标TM &reg; 
    N1.0+ 注册商标TM &reg; 
    著作权符号 &copy; 
    N1.0+ 著作权符号 &copy; 
    ------------------------------------- 
    表单 (通常需要与CGI程式配合) 
    定义表单 <FORM ACTION="URL" METHOD=GET|POST></FORM> 
    N2.0 上传档案 <FORM ENCTYPE="multipart/form-data></FORM> 
    输入栏位 <INPUT TYPE="TEXT|PASSWORD|CHECKBOX|RADIO|IMAGE 
    |HIDDEN|SUBMIT|RESET"> 
    栏位名称 <INPUT NAME="***"> 
    栏位内定值 <INPUT value="***"> 
    已选定 <INPUT CHECKED> (适用於checkboxes与 radio boxes) 
    栏位宽度 <INPUT SIZE=?> (以字元数为单位) 
    最长字数 <INPUT MAXLENGTH=?> (以字元数为单位) 
    下拉式选单 <SELECT></SELECT> 
    下拉式选单名称 <SELECT NAME="***"></SELECT> 
    选单项目数量 <SELECT SIZE=?></SELECT> 
    多选式选单 <SELECT MULTIPLE> (多选) 
    选项 <OPTION> 
    内定选项 <OPTION SELECTED> 
    文字输入区 <TEXTAREA ROWS=? COLS=?></TEXTAREA> 
    输入区名称 <TEXTAREA NAME="***"></TEXTAREA> 
    N2.0 输入区换行方式 <TEXTAREA WRAP=OFF|VIRTUAL|PHYSICAL></TEXTAREA> 
    --------------------------------------- 
    表格 
    3.0 定义表格 <TABLE></TABLE> 
    3.0 表格框线 <TABLE BORDER></TABLE> (有或没有) 
    N1.1 表格框线 <TABLE BORDER=?></TABLE>(可以设定数值) 
    N1.1 储存格左右留白 <TABLE CELLSPACING=?> 
    N1.1 储存格上下留白 <TABLE CELLPADDING=?> 
    N1.1 表格宽度 <TABLE WIDTH=?> (以pixels为单位) 
    N1.1 宽度比率 <TABLE WIDTH=%> (页宽为100%) 
    3.0 表格列 <TR></TR> 
    3.0 表格列内容看齐 <TR ALIGN=LEFT|RIGHT|CENTER VALIGN=TOP|MIDDLE|BOTTOM> 
    3.0 储存格 <TD></TD> (须与列并用) 
    3.0 储存格内容看齐 <TD ALIGN=LEFT|RIGHT|CENTER VALIGN=TOP|MIDDLE|BOTTOM> 
    3.0 不换行 <TD NOWRAP> 
    N3.0 储存格背景颜色 <TD BGCOLOR=#$$$$$$> 
    3.0 储存格横向连接 <TD COLSPAN=?> 
    3.0 储存格纵向连接 <TD ROWSPAN=?> 
    N1.1 储存格宽度 <TD WIDTH=?> (以pixels为单位) 
    N1.1 储存格宽度比率 <TD WIDTH=%> (页宽为100%) 
    3.0 表格标题 <TH></TH> (跟<TD>一样,不过会对中并加粗) 
    3.0 表格标题对齐 <TH ALIGN=LEFT|RIGHT|CENTER VALIGN=TOP|MIDDLE|BOTTOM> 
    3.0 表格标题不换行 <TH NOWRAP> 
    3.0 表格标题占几栏 <TH COLSPAN=?> 
    3.0 表格标题占几列 <TH ROWSPAN=?> 
    N1.1 表格标题宽度 <TH WIDTH=?> (以pixels为单位) 
    N1.1 表格标题比率宽度<TH WIDTH=%> (页宽为100%) 
    3.0 表格抬头 <CAPTION></CAPTION> 
    3.0 表格抬头看齐 <CAPTION ALIGN=TOP|BOTTOM>(在表格之上/之下) 
    ----------------------------------------- 
    视框 (定义与控制萤幕上的特定区域) 
    N2.0 视框格式总定义 <FRAMESET></FRAMESET> (取代<BODY>) 
    N2.0 视框行长度分配 <FRAMESET ROWS=,,,></FRAMESET>(pixels 或 %) 
    N2.0 视框行长度分配 <FRAMESET ROWS=*></FRAMESET> (* = 相对大小) 
    N2.0 视框栏宽度分配 <FRAMESET COLS=,,,></FRAMESET>(pixels 或 %) 
    N2.0 视框栏宽度分配 <FRAMESET COLS=*></FRAMESET> (* =相对大小) 
    N2.0 定义个别视框 <FRAME> (定义个别视框) 
    N2.0 个别视框内容 <FRAME SRC="URL"> 
    N2.0 个别视框名称 <FRAME NAME="***"|_blank|_self|_parent|_top> 
    N2.0 边缘宽度 <FRAME MARGINWIDTH=?> (「左」与「右」边界) 
    N2.0 边缘高度 <FRAME MARGINHEIGHT=?> (「天顶」与「地底」边界) 
    N2.0 卷动条 <FRAME SCROLLING="YES|NO|AUTO"> 
    N2.0 不可改变大小 <FRAME NORESIZE> 
    N2.0 无视框时的内容 <NOFRAMES></NOFRAMES>(如果浏览器不提供视框功能的话) 
    --------------------------------------- 
    杂项 
    说明 <!-- *** --> (浏览器不会显示) 
    档案型态声明 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    3.0 档案型态声明 <!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 3.0//EN"> 
    可搜寻 <ISINDEX> (指示可搜寻的索引项) 
    N1.0 提示 <ISINDEX PROMPT="***"> (要求输入的提示文字) 
    送出搜寻条件 <A HREF="URL?***"></a> (其中的问号不是数字,而是「问号」) 
    基本档案的URL <BASE HREF="URL"> (必须放在「文头」区段内) 
    N2.0 基本视窗名称 <BASE TARGET="***"> (必须放在「文头」区段内) 
    相关性 <LINK REV="***" REL="***" HREF="URL"> (必须放在「文头」区段内) 
    背景资讯 <META> (必须放在「文头」区段内)
      

  4.   

    先把HTML中的内容全部读到一个String 中,或者读一个处理一个也是可以的.
    然后寻找"网站名称:" ,在接下去的">"........"<"读出网站名称
    URL 地址 类似  这个是想到的,应该还有更简单的方法.
      

  5.   

    我现在考虑用java流来解决,伤脑经................
      

  6.   

    因为html文件格式定了 就行行的读,然后判断 查询
      

  7.   

    用RandomAccessFile读一行 判断一行,有你要的东西就 截取 ,保存
      

  8.   

    我现在已经取出来了排名:排名===》<TD align=left>第 1 名</TD></TR>    <TD align=left>第 2 名</TD></TR>    <TD align=left>第 3 名</TD></TR>    <TD align=left>第 4 名</TD></TR>    <TD align=left>第 5 名</TD></TR>    <TD align=left>第 6 名</TD></TR>    <TD align=left>第 7 名</TD></TR>    <TD align=left>第 8 名</TD></TR>    <TD align=left>第 9 名</TD></TR>    <TD align=left>第 10 名</TD></TR>    <TD align=left>第 11 名</TD></TR>    <TD align=left>第 12 名</TD></TR>    <TD align=left>第 13 名</TD></TR>    <TD align=left>第 14 名</TD></TR>    <TD align=left>第 15 名</TD></TR>    <TD align=left>第 16 名</TD></TR>    <TD align=left>第 17 名</TD></TR>    <TD align=left>第 18 名</TD></TR>    <TD align=left>第 19 名</TD></TR>    <TD align=left>第 20 名</TD></TR>    <TD align=left>第 21 名</TD></TR>    <TD align=left>第 22 名</TD></TR>    <TD align=left>第 23 名</TD></TR>    <TD align=left>第 24 名</TD></TR>    <TD align=left>第 25 名</TD></TR>    <TD align=left>第 26 名</TD></TR>    <TD align=left>第 27 名</TD></TR>    <TD align=left>第 28 名</TD></TR>    <TD align=left>第 29 名</TD></TR>    <TD align=left>第 30 名</TD></TR>    <TD align=left>第 31 名</TD></TR>    <TD align=left>第 32 名</TD></TR>    <TD align=left>第 33 名</TD></TR>    <TD align=left>第 34 名</TD></TR>    <TD align=left>第 35 名</TD></TR>    <TD align=left>第 36 名</TD></TR>    <TD align=left>第 37 名</TD></TR>    <TD align=left>第 38 名</TD></TR>    <TD align=left>第 39 名</TD></TR>    <TD align=left>第 40 名</TD></TR>    <TD align=left>第 41 名</TD></TR>    <TD align=left>第 42 名</TD></TR>    <TD align=left>第 43 名</TD></TR>    <TD align=left>第 44 名</TD></TR>    <TD align=left>第 45 名</TD></TR>    <TD align=left>第 46 名</TD></TR>,怎么样用stringTokenzer 把他们分开,取出排名,放数组,谢谢,我用stringTokenzer(s,"</TD></TR><TD align=left>"),好象不行,希望大家指点...在线等....付上代码最好...
    谢谢
      

  9.   

    import java.util.*;
    import java.io.*;public class HtmlRead {
      static public void main(String args[]){
        String  str= "<TD align=left>第 1 名</TD></TR>    <TD align=left>第 2 名</TD></TR>    <TD align=left>第 3 名</TD></TR>    <TD align=left>第 4 名</TD></TR>    <TD align=left>第 5 名</TD></TR>    <TD align=left>第 6 名</TD></TR>    <TD align=left>第 7 名</TD></TR>    <TD align=left>第 8 名</TD></TR>    <TD align=left>第 9 名</TD></TR>    <TD align=left>第 10 名</TD></TR>    ";
        int start = str.indexOf("TD",0);
        //System.out.println(start);
        int end = str.indexOf("TD",start + 1);
        //System.out.println(end);
        while(true){
         if(start == -1) break;
         String tmp = str.substring(start + 1,end);
         int s = tmp.indexOf(">");
         int e = tmp.indexOf("<");
         String content = tmp.substring(s + 1,e);
         System.out.println(content);
         start = str.indexOf("TD",end + 1);
         end = str.indexOf("TD",start + 1);
        }
      }
    }拿去看看, 看看行不行...
      

  10.   

    回复人: OnlyFor_love(【土豆搬家】:得不到的总是最美丽的,失去的总有诗意) ( ) 信誉:100  2005-5-17 10:39:06  得分: 0  
     
     
       
    顶一下!  
     
    土豆想申请版主,怎么可以 " 顶一下" 呢?