Java爬虫-Jsoup的简单使用

前言

最近公司希望我开发的一个功能是根据链接爬取页面的文章。我太难了。
感觉在才入职没几天。我还是个菜鸡啊
没办法,得硬着头皮搞
正好周末,自己研究了下。以为很难,其实比想象的简单些。

主要用的就是Jsoup依赖包解析HTML文件。
怎个过程可以看做以下两步

  1. 获取HTML资源
  2. 从资源里面获取想要的数据

我之前是完全不了解这个东西。然后问了一个干了几年的大佬。人家回了一个词:Jsoup

我今天就研究了下。然后做了一个捕获最近15天天气的小demo。姑且认为自己已经入门了

Jsoup是什么

Jsoup是一款Java的HTML解析器。
Jsoup百科
Jsoup中文开发指南

文档很短,我照着文档,然后自己在IDEA里面试了下操作。不是特别难。然而我的解释肯定没有文档全。不做过多解读。我下面的示例有注释

需要导包:直接在maven库里面Jsoup就能找到了

示例

public class TestJsoup {
    @Test
    public void run() throws IOException {
    	// 输入链接 我这里要获取天气,当然是爬取天气网
        String url = "https://www.tianqi.com/shanghai/15/";
        // 获取网页内容,这里的doc就就是整个HTML文件了。一个Document类型
        Document doc = Jsoup.connect(url).get();
        // 获取天气信息,我事先有通过F12看过我要爬取的网页结构,我要的信息全部在一个<ul class="weaul">  的标签里面
        Elements ul  = doc.getElementsByClass("weaul");
        // 获取text内容,这样所有的天气信息在text里面,一个String类型,以空格分开
        String text = ul.text();
        // 将其转化成数组,这样就把天气存起来了(我后面还有其他格式处理的操作,但是没必要贴出来,数据已经获取到了)
        String[] temp = text.split(" ");
		// 这个是我试验包各类方法的时候用到的
        System.out.println(ul.text());
		
		// 下面这些方法是我之前刚练习,试验各类方法的的作用时用到的(毕竟接口文档是英文)
        //System.out.println(ul);
       /* Element head = doc.getElementById("head");
        head.removeAttr("meta");
        head.removeAttr("script");
        System.out.println(head.data());*/
        /*doc.title();
        doc.body();
        doc.
        System.out.println(doc.head());*/
    }
}

效果图:
在这里插入图片描述

小结

  1. 本来以为很复杂,原来不过如此。
  2. 难怪大佬只回了我一个词
  3. 有些东西没做过不代表不会。只是不熟练而已
  4. 仅是入门而已,深入还需要练习

猜你喜欢

转载自blog.csdn.net/m0_37628958/article/details/107292699
今日推荐