Android中Jsoup的使用 網頁內容解析

2021-09-24 06:23:09 字數 2978 閱讀 4091

jsoup的庫的主要api介紹

jsoup例項

。。。。。。

html是一種超文字標記語言。我們平時使用瀏覽器瀏覽的web頁面幾乎都是html格式的文字。下面是乙個hello world的html頁面的**:

>

>

>

a sample demotitle

>

head

>

>

hello world

body

>

html

>

從上面的**我們可以很直觀的看出,html和xml語言很像都是樹形結構,即乙個根節點包含幾個子節點,子節點又可以包含自己的子節點…。通常我們把html格式的這種樹結構稱為:文件樹(dom樹)

http請求包含四個部分的內容:

請求行(request line)

請求頭(header)

空行引數

抓包的request結構如下:

請求行:請求行只會有一行,且固定為第一行。在這裡是get / http/1.1請求頭:hostupgrade-insecure-requestscookieconnection這些都是請求頭,每一行都是乙個請求頭 格式為鍵值對型別。

空行:請求頭與引數之間會有乙個空行

引數: 因為get請求的引數是放在url上的,所以這裡的引數沒有獨佔一行

http響應也包含四個部分(這個比較重要):

狀態行訊息報頭(有時也俗稱響應頭)

空行響應正文

jsoup類是乙個工具類,提供了一些靜態函式,主要函式如下:

jsoup.parse(string html)該函式的作用是將傳入的html格式的字串解析成文件樹,返回值是document物件。

jsoup.parse(file in,string charsetname)將檔案的內容解析成document物件。

jsoup.connect(string url)根據傳入的url返回乙個connection物件,connection類的功能下面會介紹。

element類對應文件樹中的節點元素,這個類的常用函式如下:

getelementsbyclass(string classname)返回所有帶有classname類屬性的孩子節點。

getelementbyid(string id)返回對應id的子節點

getelementsbytag(string tagname)返回標籤為tagname的所有孩子節點

jsoup庫有著很豐富的功能與api,需要詳細了解可以檢視官網api文件

;//解析html字串,獲取document物件

elements body = doc.

getelementsbytag

("body");

//獲取body標籤的元素

element element = body.

get(0)

;//因為body是乙個集合型別,所以需要取集合裡的第乙個元素

system.out.

println

(element.

text()

);//列印元素的內容 hello world

string title = doc.

title()

;//獲取title值

system.out.

println

(title)

;執行結果:

hello world

a sample demo

public

static

void

main

(string[

] args)

throws ioexception

}

執行截圖:

Android中各種drawable的使用

又如,通知欄圖示要多大呢?如果大小不合適,則顯示通知的時候看到的圖示可能顯示不全或者其它問題,要想知道通知欄圖示多大合適,找android系統設計的那些呀,路徑為 sdk platforms android 15 data res,在這裡搜尋notification,然後看看相同名字的通知欄圖示在不...

談Android中GoogleMap的使用(二)

先看看 囿於篇幅,匯入的包省略 public class showtrack extends mapactivity protected boolean isroutedisplayed private void findviews 設定放大按鈕 mzout button findviewbyid ...

Android中socket通訊的簡單使用

程式在模擬器上能接收到訊息,但是在真機上接收不到 例子1客戶端傳送資訊,伺服器端輸出資訊到輸出台上 核心 客戶端 this.button.setonclicklistener new onclicklistener catch exception e finally catch ioexceptio...