HtmlParser实例解析

 HtmlParser实例解析:

网页内容:

<td width="100%" colspan="3" height="20" align="center">
<font color="#000080" style="font-size:14.4px"><b>教材征订及教师用书登记通知</b></font>

<hr noshade size="1" color="#FFFFFF">阅读量:<font color="#808080">1111</font>
 发布时间:<font color="#808080">2006-5-12 21:24:36</font>
 </td>

实现代码如下:

  1. import java.io.BufferedWriter;
  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import org.htmlparser.Node;
  5. import org.htmlparser.NodeFilter;
  6. import org.htmlparser.filters.AndFilter;
  7. import org.htmlparser.filters.HasChildFilter;
  8. import org.htmlparser.filters.TagNameFilter;
  9. import org.htmlparser.util.NodeList;
  10. import com.extractor.Extractor;
  11. public class ExtractorHangdian extends Extractor{
  12.     public void extract()
  13.     {
  14.         BufferedWriter bw=null;
  15.         String title;
  16.         //NodeFilter title_filter=new AndFilter(new TagNameFilter("font"),new HasAttributeFilter("color","#000080"));
  17.         NodeFilter title_filter1=new AndFilter(new TagNameFilter("td"),new HasChildFilter(new TagNameFilter("b")));
  18.         
  19.         try
  20.         {
  21.             /*NodeList title_nodes=this.getParser().parse(title_filter);
  22.             Node title_node=title_nodes.elementAt(0);
  23.             title=title_node.getNextSibling().getNextSibling().toHtml();
  24.             */
  25.             NodeList title_nodes=this.getParser().parse(title_filter1);
  26.             Node node=title_nodes.elementAt(0);
  27.             NodeList node2=node.getChildren();
  28.             title=node2.elementAt(0).toHtml();   /*      '/r/n'  */
  29.             title=node2.elementAt(1).toHtml();   /*font color="#000080" style="font-size:14.4px*/
  30.             title=node2.elementAt(2).toHtml();   /*         b       */
  31.             title=node2.elementAt(3).toHtml();   /*  教材征订及教师用书登记通知  */
  32.             
  33.             
  34.             bw=new BufferedWriter(new FileWriter(new File(this.getOutputPath()+title+".txt")));
  35.             
  36.             bw.write(title);
  37.             bw.close();
  38.         
  39.         }
  40.         catch(Exception e)
  41.         {
  42.             e.printStackTrace();
  43.         }
  44.         
  45.     }

上代码中注释掉的那部分也是正确的,呵呵……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值