📜  jsoup-从URL加载(1)

📅  最后修改于: 2023-12-03 15:02:26.347000             🧑  作者: Mango

Jsoup-从URL加载

简介

Jsoup是一个Java的HTML解析器,可以从URL,文件或字符串中提取数据。它可以用于网页爬取,数据挖掘等任务。本文主要介绍如何使用Jsoup从URL加载数据。

导入Jsoup库

首先,需要在项目中导入Jsoup库。可以使用maven或者gradle添加如下依赖:

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.14.2</version>
</dependency>
implementation "org.jsoup:jsoup:1.14.2"
从URL加载数据

使用Jsoup从URL加载数据非常简单。可以使用Jsoup.connect()方法构造一个Connection对象,然后通过调用get()方法获取URL对应的HTML内容。

import org.jsoup.Connection;
import org.jsoup.Jsoup;

import java.io.IOException;

public class JsoupDemo {
    public static void main(String[] args) throws IOException {
        String url = "https://www.baidu.com";
        Connection connection = Jsoup.connect(url);
        String html = connection.get().html();
        System.out.println(html);
    }
}

上面的代码中,我们首先定义了一个URL,然后使用Jsoup.connect(url)方法构造了一个Connection对象。接下来,通过调用get()方法获取了URL对应的HTML内容,最后使用html()方法将HTML内容转化为字符串。

运行上述代码,可以看到输出了URL对应的HTML内容。

从URL加载数据(带参数)

有时候,需要从URL中带参数获取数据。可以通过data()方法向Connection对象中添加参数。例如,从Github API获取用户的repos可以这样做:

import org.jsoup.Connection;
import org.jsoup.Jsoup;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class JsoupDemo {
    public static void main(String[] args) throws IOException {
        String url = "https://api.github.com/users/octocat/repos";
        Connection connection = Jsoup.connect(url);
        Map<String, String> data = new HashMap<>();
        data.put("type", "all");
        connection.data(data);
        String html = connection.get().body().html();
        System.out.println(html);
    }
}

上述代码中,我们首先定义了一个URL,然后使用Jsoup.connect(url)方法构造了一个Connection对象。接下来,使用Map集合存储需要传递的参数,然后通过调用data()方法向Connection对象中添加参数。最后使用html()方法将HTML内容转化为字符串并输出。

运行上述代码,可以看到输出了Github API返回的HTML内容。

总结

以上就是使用Jsoup从URL加载数据的示例代码。可以根据业务需要,自定义更多参数以获取所需的数据。使用Jsoup的好处在于,它提供了很多方便的工具方法,使得数据的提取变得极其简单。