package com.open1111.jsoup;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Demo2 {
public static void main(String[] args) throws Exception{
CloseableHttpClient httpclient = HttpClients.createDefault(); // 創(chuàng)建httpclient實(shí)例
HttpGet httpget = new HttpGet( "http://www.cnblogs.com/" ); // 創(chuàng)建httpget實(shí)例
CloseableHttpResponse response = httpclient.execute(httpget); // 執(zhí)行g(shù)et請(qǐng)求
HttpEntity entity=response.getEntity(); // 獲取返回實(shí)體
String content=EntityUtils.toString(entity, "utf-8" );
response.close(); // 關(guān)閉流和釋放系統(tǒng)資源
Document doc=Jsoup.parse(content); // 解析網(wǎng)頁 得到文檔對(duì)象
Element navTopElement=doc.getElementById( "site_nav_top" ); // 根據(jù)id來查詢DOM
String navTop=navTopElement.text(); // 返回元素的文本
System.out.println( "口號(hào):" +navTop);
Elements titleElements=doc.getElementsByTag( "title" ); // 根據(jù)tag名稱來查詢DOM
Element titleElement=titleElements.get( 0 ); // 獲取第1個(gè)元素
String title=titleElement.text(); // 返回元素的文本
System.out.println( "網(wǎng)頁標(biāo)題是:" +title);
Elements postItemElements=doc.getElementsByClass( "post_item " ); // 根據(jù)樣式名稱來查詢DOM
for (Element e:postItemElements){
System.out.println(e.html());
System.out.println( "================" );
}
Elements widthElements=doc.getElementsByAttribute( "width" ); // 根據(jù)屬性名來查詢DOM
for (Element e:widthElements){
System.out.println(e.toString());
System.out.println( "================" );
}
System.out.println( "target-_blank" );
Elements targetElements=doc.getElementsByAttributeValue( "target" , "_blank" ); // 根據(jù)屬性名和屬性值來查詢DOM
for (Element e:targetElements){
System.out.println(e.toString());
System.out.println( "================" );
}
}
}
|