第一節: Jsoup 獲取 DOM 元素屬性值
Jsoup獲取DOM元素屬性值
比如我們要獲取博客的href屬性值:
我們這時候就要用到Jsoup來獲取屬性的值 :
我們給下示例代碼:
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 Demo4 { 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 Elements linkElements=doc.select("#post_list .post_item .post_item_body h3 a"); //通過選擇器查找所有博客鏈接DOM 28 for(Element e:linkElements){ 29 System.out.println("博客標題:"+e.text()); 30 System.out.println("博客地址:"+e.attr("href")); 31 System.out.println("target:"+e.attr("target")); 32 } 33 34 Element linkElement=doc.select("#friend_link").first(); 35 System.out.println("純文本:"+linkElement.text()); 36 System.out.println("html:"+linkElement.html()); 37 38 39 } 40 }