網路爬蟲(二) Jsoup的使用

2021-09-30 01:12:59 字數 4421 閱讀 6929

;這裡的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...