JSoup教學

JSoup是一個用於處理HTML的Java庫,它提供了一個非常方便類似於使用DOM,CSS和jquery的方法的API來提取和操作數據。

jsoup實現WHATWG HTML5規範,並將HTML解析爲與現代瀏覽器相同的DOM。

  • 從URL,文件或字符串中提取並解析HTML。
  • 查找和提取數據,使用DOM遍歷或CSS選擇器。
  • 操縱HTML元素,屬性和文本。
  • 根據安全的白名單清理用戶提交的內容,以防止XSS攻擊。
  • 輸出整潔的HTML。

jsoup旨在處理髮現所有格式有差異的HTML; 從原始和驗證,到無效的標籤; jsoup將創建一個明智的解析樹。

實例

獲取維基百科主頁,解析爲DOM,並從新聞部分中選擇標題列入元素列表:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");

以下是一個完整的示例,在這個示例中,它提取易百教程網首頁的title標籤中的字符串符。

import java.io.IOException;  
import org.jsoup.Jsoup;  
import org.jsoup.nodes.Document;  
public class FirstJsoupExample{  
    public static void main( String[] args ) throws IOException{  
                Document doc = Jsoup.connect("http://www.yiibai.com").get();  
                String title = doc.title();  
                System.out.println("title is: " + title);  
    }  
}

開源

jsoup是一個根據自由MIT許可證分發的開源項目。 源代碼可在GitHub獲得:http://github.com/jhy/jsoup/

發展和支持

如果您有任何關於如何使用jsoup的問題,或有未來發展的想法,請通過郵件列表聯繫( http://jsoup.org/discussion )。

如果您發現任何問題,請在檢查重複之後提交錯誤。

本教程問題

在本Jsoup教程中,我們是通過一些簡單的開發和測試實例來一步步演示Jsoup的使用的,但是由於開發環境和工具的不同,我們不能保證所有實例均可在您的機器也能正常運行。 如果您在本教程中發現任何問題或錯誤,可以向我們報告。我們及時修改/修正錯誤以方便後來的學習者。