getElementById(String id) 根據 id 來查詢 DOM
getElementsByTag(String tagName) 根據 tag 名稱來查詢 DOM
getElementsByClass(String className) 根據樣式名稱來查詢 DOM
getElementsByAttribute(String key) 根據屬性名來查詢 DOM
getElementsByAttributeValue(String key,String value) 根據屬性名和屬性值來查詢 DOM
html
Jsoup查找DOM元素java
Jsoup提供了豐富的API來給咱們查找咱們須要的DOM元素;node
這裏例舉一些經常使用的:apache
getElementById(String id) 根據id來查詢DOMpost
getElementsByTag(String tagName) 根據tag名稱來查詢DOMspa
getElementsByClass(String className) 根據樣式名稱來查詢DOMcode
getElementsByAttribute(String key) 根據屬性名來查詢DOMhtm
getElementsByAttributeValue(String key,String value) 根據屬性名和屬性值來查詢DOM對象
實例代碼:blog
1 package com.javaxk.jsoup; 2 3 import org.apache.http.HttpEntity; 4 import org.apache.http.client.methods.CloseableHttpResponse; 5 import org.apache.http.client.methods.HttpGet; 6 import org.apache.http.impl.client.CloseableHttpClient; 7 import org.apache.http.impl.client.HttpClients; 8 import org.apache.http.util.EntityUtils; 9 import org.jsoup.Jsoup; 10 import org.jsoup.nodes.Document; 11 import org.jsoup.nodes.Element; 12 import org.jsoup.select.Elements; 13 14 public class Demo2 { 15 16 public static void main(String[] args) throws Exception{ 17 CloseableHttpClient httpclient = HttpClients.createDefault(); // 建立httpclient實例 18 HttpGet httpget = new HttpGet("http://www.cnblogs.com/"); // 建立httpget實例 19 20 CloseableHttpResponse response = httpclient.execute(httpget); // 執行get請求 21 HttpEntity entity=response.getEntity(); // 獲取返回實體 22 String content=EntityUtils.toString(entity, "utf-8"); 23 response.close(); // 關閉流和釋放系統資源 24 25 Document doc=Jsoup.parse(content); // 解析網頁 獲得文檔對象 26 27 Element navTopElement=doc.getElementById("site_nav_top"); // 根據id來查詢DOM 28 String navTop=navTopElement.text(); // 返回元素的文本 29 System.out.println("口號:"+navTop); 30 31 Elements titleElements=doc.getElementsByTag("title"); // 根據tag名稱來查詢DOM 32 Element titleElement=titleElements.get(0); // 獲取第1個元素 33 String title=titleElement.text(); // 返回元素的文本 34 System.out.println("網頁標題是:"+title); 35 36 Elements postItemElements=doc.getElementsByClass("post_item"); // 根據樣式名稱來查詢DOM 37 System.out.println("=======輸出post_item=============="); 38 for(Element e:postItemElements){ 39 System.out.println(e.html()); 40 System.out.println("================"); 41 } 42 43 44 Elements widthElements=doc.getElementsByAttribute("width"); // 根據屬性名來查詢DOM 45 System.out.println("=======輸出with的DOM=============="); 46 for(Element e:widthElements){ 47 System.out.println(e.toString()); 48 System.out.println("================"); 49 } 50 51 System.out.println("target-_blank"); 52 Elements targetElements=doc.getElementsByAttributeValue("target", "_blank"); // 根據屬性名和屬性值來查詢DOM 53 System.out.println("=======輸出target-_blank的DOM=============="); 54 for(Element e:targetElements){ 55 System.out.println(e.toString()); 56 System.out.println("================"); 57 } 58 59 } 60 }