[英]How to properly extract desired information using Jsoup?
最近,我決定使用Jsoup及其各種屬性。 為此,我創建了一個小型應用程序,該應用程序從以下網站( http://sunwell.pl )收集信息。
現在(如果您查看網站),我想在線獲取有關玩家的信息。
<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.