;這裡的getelementsbytags
得到的是乙個類似陣列,所以需要取第乙個值,即first,text的內容得到的是標籤內的文字內容,這裡可能會有乙個疑問,為什麼jsoup都可以直接得到網頁的內容了,還需要httpclients(closeablehttpclient),因為在實際開發中,要用到多執行緒,連線池,**等方式,而jsoup卻不能很好地支援這些,所以我們僅僅把jsoup作為解析html的工具,而不作為請求工具。
;這裡給jsoup傳入的是乙個檔案,也就是乙個html的檔案,通過解析html檔案的方式得到想要的結果。
)通過httpclient請求得到html,然後jsoup通過解析html得到想要的結果
單個選擇器
string title = doc.
;
一共有這5種型別的單一選擇器,在上面的示例中。可以看到好多都使用了像next(),first()等這些函式,之所以使用這些函式是因為除了getelementbyid之外,其它選擇器獲取到的都是多個element,所以就需要乙個過濾,得到我們想要的那個元素,我列舉出了常用的這些過濾函式:
再有就是對**text()**函式的講解,**text()**函式就是得到標籤裡的內容體,例如下面這個標籤
>
輸入法span
>
使用element的text()方法拿到的就是輸入法這三個字。
attr(string),這個函式的作用是拿到標籤內屬性的值,例如
type
="submit"
value
= id
="su"
class
="btn self-btn bg s_btn"
>
string value = ele.attr("value);
組合選擇器
學過前端的應該對這個上手比較快,因為這個組合選擇器和css中的選擇器是一樣的
首先,還是得先獲得document物件
document doc = jsoup.
parse
(new
url(
""),
10000
);
然後通過document的select()方法進行查詢
標籤選擇器
elements span = doc.
select
("span"
);
id選擇器
elements span = doc.
select
("#first-id"
);
class選擇器
elements span = doc.
select
(".font-result"
);
屬性選擇器
elements span = doc.
select
("[src]"
);
屬性值選擇器
);並且還可以對這些選擇器進行組合,例如
// 獲取標籤為div的元素且此div的id為div-id
elements eles = doc.
select
("div#div-id"
);
使用JSOUP實現網路爬蟲 解析乙個body片斷
使用jsoup.parsebodyfragment string html 方法.string html lorem ipsum.document doc jsoup.parsebodyfragment html element body doc.body parsebodyfragment方法建立...
jsoup爬蟲工具超簡單使用 記錄
簡單入門案例 document document null trycatch ioexception e if document null return 接下來獲取到了document物件,就等於獲取了頁面的所有資訊對document的操作 通過class獲取乙個元素節點 elements list...
網路爬蟲 Jsoup的一些獲取資料方法
根據id 獲得節點 element elementdiv doc.getelementbyid shop all list 根據 標籤名獲得節點 elements elementsul elementdiv.getelementsbytag ul 獲取 elementsul 中第乙個 的標籤節點 e...