使用 jsoup 解析HTML

2022-02-14 06:50:07 字數 2091 閱讀 6175

//

//@test

public

void

analysishtmlbystring()

}@test

public

void anlysishtmlbyfile() throws

ioexception

element ele =doc.getelementbyid("btn");

system.out.println(ele.html());

}@test

public

void anlysishtmlbyurl() throws

ioexception

}

selector選擇器概述

tagname: 通過標籤查詢元素,比如:a

ns|tag: 通過標籤在命名空間查詢元素,比如:可以用 fb|name 語法來查詢 元素

#id: 通過id查詢元素,比如:#logo

.class: 通過class名稱查詢元素,比如:.masthead

[attribute]: 利用屬性查詢元素,比如:[href]

[^attr]: 利用屬性名字首來查詢元素,比如:可以用[^data-] 來查詢帶有html5 dataset屬性的元素

[attr=value]: 利用屬性值來查詢元素,比如:[width=500]

[attr^=value], [attr$=value], [attr*=value]: 利用匹配屬性值開頭、結尾或包含屬性值來查詢元素,比如:[href*=/path/]

[attr~=regex]: 利用屬性值匹配正規表示式來查詢元素,比如: img[src~=(?i)\.(png|jpe?g)]

*: 這個符號將匹配所有元素

selector選擇器組合使用

el#id: 元素+id,比如: div#logo

el.class: 元素+class,比如: div.masthead

el[attr]: 元素+class,比如: a[href]

任意組合,比如:a[href].highlight

ancestor child: 查詢某個元素下子元素,比如:可以用.body p 查詢在"body"元素下的所有p元素

parent > child: 查詢某個父元素下的直接子元素,比如:可以用div.content > p 查詢 p 元素,也可以用body > * 查詢body標籤下所有直接子元素

siblinga + siblingb: 查詢在a元素之前第乙個同級元素b,比如:div.head + div

siblinga ~ siblingx: 查詢a元素之前的同級x元素,比如:h1 ~ p

el, el, el:多個選擇器組合,查詢匹配任一選擇器的唯一元素,例如:div.masthead, div.logo

偽選擇器selectors

:lt(n): 查詢哪些元素的同級索引值(它的位置在dom樹中是相對於它的父節點)小於n,比如:td:lt(3) 表示小於三列的元素

:gt(n):查詢哪些元素的同級索引值大於n,比如: div p:gt(2)表示哪些div中有包含2個以上的p元素

:eq(n): 查詢哪些元素的同級索引值與n相等,比如:form input:eq(1)表示包含乙個input標籤的form元素

:has(seletor): 查詢匹配選擇器包含元素的元素,比如:div:has(p)表示哪些div包含了p元素

:not(selector): 查詢與選擇器不匹配的元素,比如: div:not(.logo) 表示不包含 class="logo" 元素的所有 div 列表

:contains(text): 查詢包含給定文字的元素,搜尋不區分大不寫,比如: p:contains(jsoup)

:containsown(text): 查詢直接包含給定文字的元素

:matches(regex): 查詢哪些元素的文字匹配指定的正規表示式,比如:div:matches((?i)login)

:matchesown(regex): 查詢自身包含文字匹配指定正規表示式的元素

注意:上述偽選擇器索引是從0開始的,也就是說第乙個元素索引值為0,第二個元素index為1等

可以檢視selector api參考來了解更詳細的內容

使用 jsoup 解析HTML

test public void analysishtmlbystring test public void anlysishtmlbyfile throws ioexception element ele doc.getelementbyid btn system.out.println ele....

使用了開源的jsoup進行解析html

今天我使用了開源的jsoup進行解析html。目的是有ip然後得到乙個該ip的所在地,在網上找了有乙個提供網域名稱位址查詢的 值,為ip值,得到的頁面也挺簡單,所以使用jsoup解析,jsoup支行css選擇器的查詢,所以查詢你想要的值也方便,這是我的乙個小原始碼 通過 ip來查詢地域資訊 採用了 ...

android用jsoup解析html詳細教程

直接上效果圖 再來看 裡面有很詳細的注釋 tv news content.settext document document jsoup.parse string html 用乙個選擇器 條件是elements elements document.select div.inner p.name a ...