美烦资源网

专注技术文章分享,涵盖编程教程、IT 资源与前沿资讯

jsoup Selector类学习笔记,快速提升你的HTML处理能力!

Selector 类是 jsoup 库中的一个核心类,用于通过 CSS 选择器语法来查找 HTML 文档中的元素。

选择器语法

通用选择器 * :匹配任何元素。

标签选择器 tag :匹配指定标签名的元素。

ID 选择器 #id :匹配具有指定 ID 的元素。

类选择器 .class :匹配具有指定类名的元素。

属性选择器 [attr] :匹配具有指定属性的元素。

属性值选择器 [attr=val] :匹配具有指定属性值的元素。

属性值前缀选择器 [attr^=valPrefix] :匹配属性值以指定前缀开头的元素。

属性值后缀选择器 [attr$=valSuffix] :匹配属性值以指定后缀结尾的元素。

属性值包含选择器 [attr*=valContaining] :匹配属性值包含指定文本的元素。

属性值正则选择器 [attr~=regex] :匹配属性值符合正则表达式的元素。

子元素选择器 E F :匹配作为 E 元素后代的 F 元素。

子元素选择器 E > F :匹配作为 E 元素直接子元素的 F 元素。

相邻兄弟选择器 E + F :匹配紧接在 E 元素后的 F 元素。

兄弟选择器 E ~ F :匹配在 E 元素之后的所有 F 元素。

分组选择器 E, F, G :匹配 E、F 或 G 元素。

伪类选择器

:lt(n) :匹配兄弟元素中索引小于 n 的元素。

:gt(n) :匹配兄弟元素中索引大于 n 的元素。

:eq(n) :匹配兄弟元素中索引等于 n 的元素。

:has(selector) :匹配包含指定选择器匹配的元素的元素。

:is(selector list) :匹配选择器列表中任意一个选择器的元素。

:not(selector) :匹配不匹配指定选择器的元素。

:contains(text) :匹配包含指定文本的元素。

:containsOwn(text) :匹配直接包含指定文本的元素。

:containsData(data) :匹配包含指定数据的元素。

:containsWholeText(text) :匹配包含指定完整文本的元素。

:containsWholeOwnText(text) :匹配直接包含指定完整文本的元素。

:matches(regex) :匹配包含符合正则表达式的文本的元素。

:matchesWholeText(regex) :匹配包含符合正则表达式的完整文本的元素。

:matchesWholeOwnText(regex) :匹配直接包含符合正则表达式的完整文本的元素。

结构伪类选择器

:root :匹配文档的根元素。

:nth-child(an+b) :匹配父元素之前有 an+b-1 个兄弟元素的元素。

:nth-last-child(an+b) :匹配父元素之后有 an+b-1 个兄弟元素的元素。

:nth-of-type(an+b) :匹配父元素之前有 an+b-1 个同类型兄弟元素的元素。

:nth-last-of-type(an+b) :匹配父元素之后有 an+b-1 个同类型兄弟元素的元素。

:first-child :匹配父元素的第一个子元素。

:last-child :匹配父元素的最后一个子元素。

:first-of-type :匹配父元素的第一个同类型子元素。

:last-of-type :匹配父元素的最后一个同类型子元素。

:only-child :匹配没有其他兄弟元素的元素。

:only-of-type :匹配没有其他同类型兄弟元素的元素。

:empty :匹配不包含任何子元素的元素。

方法

select(String query) :根据 CSS 选择器查找匹配的元素。

selectFirst(String cssQuery, Element root) :根据 CSS 选择器查找第一个匹配的元素。

注意事项

使用正则表达式时,可能需要使用 Pattern.quote("regex") 来正确解析。

特殊字符需要使用 \ 进行转义。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言