(二)Jsoup 查找 DOM 元素

第一節: Jsoup 查找 DOM 元素

    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 }
相關文章
相關標籤/搜索