java爬虫Jsoup小练习

依赖

  		<dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.13.1</version>
        </dependency>

挑选了一个学校的官网考研复试的名单 准备爬取
第一步就是 连接然后获取该页面的html
第二步就是 分析html,要爬取的内容
在这里插入图片描述
通过分析可以发现,除了表格标题行有class其他都没有,只能使用tr标签爬取
爬取出一个tr行里面有10个td列
除去掉没用的行,开头两行和结尾几个空行
就可以获取里面span标签的内容啦

@Test
    public void getWHPUlist() throws IOException {
        HashMap<Long, ArrayList<String>> map = new HashMap<>();
        Document document = Jsoup.connect("http://sjxy.whpu.edu.cn/info/1110/3055.htm").get();
        Elements elements = document.getElementsByTag("tr");
        for (int i = 2; i < elements.size(); i++) {
            Elements td = elements.get(i).getElementsByTag("td");
            int size = td.size();
            if (size<10 || StringUtils.isNullOrEmpty(td.get(0).text()))
                continue;
            ArrayList<String> info = new ArrayList<>();
            Long id = new Long(0);
            for (int i1 = 0; i1 < size; i1++) {
                String span = td.get(i1).getElementsByTag("span").get(0).text();
                if (i1 == 0) {
                    id = new Long(span);
                }else {
                    info.add(span);
                }
                map.put(id,info);
            }
        }
        for (Map.Entry<Long, ArrayList<String>> longArrayListEntry : map.entrySet()) {
            System.out.println("学号:"+longArrayListEntry.getKey());
            System.out.println("信息:"+longArrayListEntry.getValue());
        }
      }

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值