java如何截取网页数据_一段截取处理含有table布局的网页内容java程序

本文介绍如何利用Java的Jsoup库解析并截取含有table布局的网页内容。通过示例代码展示了如何获取HTML文档中的tr和td元素,并存储到数据结构中。
摘要由CSDN通过智能技术生成

利用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

1yecao
2yc
";//测试内容

List> list = new ArrayList>();

//开始使用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 map = new HashMap();

//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);

}

}

命令框显示内容:

45f06ecf89acd64aa789af5689bb5713.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值