首页  >  文章  >  Java  >  如何使用Java和Jsoup从网站提取数据?

如何使用Java和Jsoup从网站提取数据?

Linda Hamilton
Linda Hamilton原创
2024-10-30 17:30:25171浏览

How to Extract Data from Websites Using Java and Jsoup?

使用 Java 提取网站数据

要将网站中的信息检索到 Java 程序中,请使用 HTML 解析器,例如 Jsoup。 Jsoup 类似 jQuery 的 CSS 选择器和表示节点列表(元素)的可迭代类使其成为首选。

流程:

  1. 建立一个连接: 使用 Jsoup.connect(url) 方法建立与所需网页的连接。
  2. 检索页面: 在连接上执行 get() 方法获取页面的 HTML 文档。
  3. 解析文档:利用 Jsoup 的 select() 方法和适当的 CSS 选择器来提取您需要的数据。

示例(从 Stack Overflow 中检索问题和回答者):

<code class="java">import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class WebsiteDataRetrieval {

    public static void main(String[] args) throws Exception {
        String url = "https://stackoverflow.com/questions/2835505";
        Document document = Jsoup.connect(url).get();

        // Extract the question
        String question = document.select("#question .post-text").text();
        System.out.println("Question: " + question);

        // Extract the answerers
        Elements answerers = document.select("#answers .user-details a");
        for (Element answerer : answerers) {
            System.out.println("Answerer: " + answerer.text());
        }
    }
}</code>

此示例输出指定 Stack Overflow 问题的问题和回答者列表。

故障排除NoSuchMethodError:

您在 Jsoup 中遇到的错误与您正在使用的版本中的问题有关。确保您使用的是最新版本的 Jsoup,因为它已经解决了此问题。此外,请确保您的类路径中有 Apache Commons 库。

以上是如何使用Java和Jsoup从网站提取数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn