首頁  >  文章  >  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