zoukankan      html  css  js  c++  java
  • 一段截取处理含有table布局的网页内容java程序

    利用jsoup来处理含有html码的数据流。

    package com.cn;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.select.Elements;

    public class cv {

    /**
    * @param args
    */
    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Elements tds=null;
    String html="gfg<br><table><tr><td>1</td><td>yecao</td></tr><tr><td>2</td><td>yc</td></tr></table>";//测试内容
    List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
    //开始使用Jsoup
    //Jsoup支援一个Document类 将刚才的html转化成Document
    Document document = Jsoup.parse(html);
    //一个Document又由elements组成 我们选择”tr”开头的标签,存入 trs元素群中
    Elements trs = document.select("tr");
    //得到整个HTML中包含tr的标签的个数
    int totalTrs = trs.size();
    //我们可以观察上面没有搜索结果的那个HTML。发现,如果totalTrs<=3就表示没结果。
    //只要有书目结果totalTrs必定大于3,于是
    if(totalTrs > 0)
    for(int i = 0;i < totalTrs ;i++)
    {
    //观察HTML,从第i+2个tr开始,包含的才是我们要的书目信息
    //我们从每个tr中选出td标签元素群
    tds = trs.get(i).select("td");
    //得到每个tr中td的个数
    int totalTds = tds.size();
    //一个临时的HashMap,里面是String-Object键值对
    Map<String,Object> map = new HashMap<String,Object>();
    //j是一个标识数
    for(int j =0;j < totalTds ;j++)
    {
    switch (j) {
     case 0:
    map.put("001", tds.get(j).html().toString());
    break;
    case 1:
     map.put("002", tds.get(j).html().toString());
    break;
    default:
    break;
    }
    }
    list.add(map);
    }
    System.out.println(document);
    System.out.println(trs);
    System.out.println(trs.size());
    System.out.println(tds);
    System.out.println(tds.size());
    System.out.println(list);

    }

    }

    命令框显示内容:

  • 相关阅读:
    识别浏览器信息,判断是否安卓或者苹果手机
    thinkphp5.0 配置文件加载路径说明
    thinkphp5.0 url跳转
    微信小程序--picker
    JavaScript和php数组的定义
    地点下来框的实现(php)
    微信小程序入门(持续更新)
    Vue 拖拽组件 vuedraggable 和 vue-dragging
    递归
    js 为什么有些在原始数据上进行修改,有些进行浅拷贝或深拷贝呢
  • 原文地址:https://www.cnblogs.com/weeds/p/2294398.html
Copyright © 2011-2022 走看看