1、簡介html
Jsoup是一款HTML解析器,能夠直接解析url地址,也能夠解析html文本內容。也可經過DOM、CSS以及相似於jQuery的操做方法來取出和操做數據。其主要功能:安全
一、從url、字符串或者文本中解析出htmlcookie
二、查找、取出數據post
三、操做html元素、屬性、文本。測試
Jsoup直接繼承Object類,聲明爲:public class Jsoup extends Object 編碼
這是使用Jsoup庫的核心的公共的入口。url
2、方法詳細code
一、public static Document parse(String html, String baseUri) 將html解析到Document中,這裏能爲任何html建立一個document文檔樹。htm
其中的baseUri,html中url常常表示成相對路勁形式,baseUri就是用來指定其根路勁,在解析html中url從相對路勁中轉換爲絕對路勁時很是重要。對象
二、public static Document parse(String html, String baseUri, Parser parser) 使用指定的解析器對html字符串進行解析。
三、public static Document parse(String html) 將html字符串解析到Document中,這裏沒有指定baseUri,其依賴於html中<base href>標籤。
四、public static Connection connect(String url) 建立一個指定url的連接(Connection)對象,經常使用來獲取或解析html頁面。
如:Document doc = Jsoup.connect("http://example.com").userAgent("Mozilla").data("name", "jsoup").get();
Document doc = Jsoup.connect("http://example.com").cookie("auth", "token").post();
五、public static Document parse(File in, String charsetName, String baseUri) throws IOException 解析html文件
charsetName指編碼,一般設置爲UTF-8比較安全。當文件找不到或者不可讀或者編碼無效時將會跑IO異常。
六、public static Document parse(File in, String charsetName) throws IOException 解析html文件 文件位置經常使用來做爲baseUri。 其餘跟上面第5點同樣。
七、public static Document parse(InputStream in, String charsetName, String baseUri) throws IOException 讀取輸入流,而後將其解析爲Document對象。
八、public static Document parse(InputStream in, String charsetName, String baseUri, Parser parser) throws IOException 讀取輸入流,使用指定解析器對其進行解析。
九、public static Document parseBodyFragment(String bodyHtml, String baseUri) 解析只含body部分的html片斷。 指定了baseUri
十、public static Document parseBodyFragment(String bodyHtml) 解析只含body部分的html片斷。 未指定baseUri
十一、public static Document parse(URL url, int timeoutMillis) throws IOException 將url指定的html解析爲document。考慮兼容性經常使用connect(String url)代替。
若是響應返回碼不是200或者讀取響應流出錯將拋出IO異常。
十二、public static String clean(String bodyHtml, String baseUri, Whitelist whitelist) 使用白名單標籤和屬性對輸入的不信任的html進行過濾來獲得安全的html。指定了baseUri
1三、public static String clean(String bodyHtml, Whitelist whitelist) 使用白名單標籤和屬性對輸入的不信任的html進行過濾來獲得安全的html。未指定baseUri
1四、public static boolean isValid(String bodyHtml, Whitelist whitelist) 測試輸入的html是否只包含白名單容許的標籤和屬性。