簡體   English   中英

如何使用Jsoup正確提取所需的信息?

[英]How to properly extract desired information using Jsoup?

最近,我決定使用Jsoup及其各種屬性。 為此,我創建了一個小型應用程序,該應用程序從以下網站( http://sunwell.pl )收集信息。

現在(如果您查看網站),我想在線獲取有關玩家的信息。

HTML代碼

<span class="zalogowany-jako-username" style="font-size: 20px;">Players online: 791</span>

我的密碼

public void read(String webAddress) throws IOException {

        document = Jsoup
                .connect(webAddress)
                .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
                .get();
        elements = document.select("span[class=zalogowany-jako-username]");
        System.out.println(elements);
    }

結果

執行完程序后,它什么也不打印(幸運的是也沒有錯誤)。 我的問題是為什么? 誰能糾正我?

這是因為Jsoup 支持JavaScript 您嘗試獲取的html代碼是由JavaScript生成的,因此它在瀏覽器中可見,但對Jsoup不可用,因為Jsoup無法呈現JavaScript ,而只會檢索純HTML代碼。

查看Jsoup可以檢索內容的一個好方法是使用Document doc = Jsoup.connect(url).get()獲取整個網頁,然后執行System.out.println(doc.html())來查看檢索的內容。 我已使用您的網址完成此操作,並發現所需的tag不存在。


更新:

您可以做的一件事是使用Chrome瀏覽器的開發人員工具 ,打開“網絡”標簽,選擇XHR作為過濾器,然后刷新頁面以查看網站從何處獲取AJAX信息。

我已經對您的網站進行了此操作,發現該網站從以下URL中檢索信息:“ http://sunwell.pl/getstatuscode.php ”。 因此,請嘗試使用此網址,而不是原始網址。 這將為您獲取所需的信息!

在此處輸入圖片說明 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM