jsoup

jsoup文档:Selector (jsoup Java HTML Parser 1.14.3 API)declaration: package: org.jsoup.select, class: Selectoricon-default.png?t=M0H8https://jsoup.org/apidocs/org/jsoup/select/Selector.html

一. 选择器

html如下:

String html =
            "<ul class=\"browser\">\n" +
        "    <li class=\"item\">\n" +
        "        <a href=\"https://123.cn/\">html<span>html文档</span></a>\n" +
        "    </li>\n" +
        "    <li class=\"item\">\n" +
        "        <a href=\"https://456.cn/\">css<span>css文档</span></a>\n" +
        "    </li>\n" +
        "</ul>";

1/ Jsoup.parse() 
把字符串解析问Document文档

// 把字符串解析问Document文档
Document document = Jsoup.parse(html);
System.out.println("document:"+document);

 结果:

 2/ document.select()
类选择器,类似 CSS 的元素选择器,用于查找匹配查询的元素。

这种方法通常比DOM类型的getElementBy*方法更强大,因为可以组合多个过滤器,如:

el.select("a[href]")- 查找链接(带有属性a的标签)href
el.select("a[href*=example.com]")
 - 查找出带有 href 属性且href值包含“example.com” 字串的a标签。

常用的选择器如下:

(1)tag 标签选择器(div)

Elements item = document.select("ul");
System.out.println(item);

 (2)#id id选择器(div#wrap)

String h = "<div id='d'>123</div>";
// 下边简写了Jsoup.parse()返回的是Document ,select是Element实例方法,而Document继承Element
Elements e1 = Jsoup.parse(h).select("#d");
System.out.println(e1);

(3).class 类名选择器(div.left)

String h = "<div class='cls'>123</div>";
Elements e1 = Jsoup.parse(h).select(".cls");
System.out.println(e1);

(4)[attr] 选择具有attr属性的元素(a[href]  [title] )

String h = "<div data-args='cls'>123</div><div data-args='cls'>456</div>";
Elements e1 = Jsoup.parse(h).select("[data-args]");
System.out.println(e1);

 

 (5)[^attrPrefix] 查找以 ”attrPrefix“ 开头的属性的元素 ( [^data]   div[^data-] )

String h = "<div data-args='cls'>123</div><div data-time='08:20'>456</div>";
Elements e1 = Jsoup.parse(h).select("[^data]");
System.out.println(e1);

(6)[attr^=valPrefix] 查找 有attr 属性且 attr的值以 valPrefix 开头的元素 ( a[href^=https] )

(7)[attr$=valSuffix] 查找 有attr属性 且 attr的值结尾以 valSuffix 结尾的元素(img[src$=.png])

(8)[attr*=valContaining] 查找 有attr属性 且 attr的值包含 valContaining 的元素 (a[href*=abc])

(9)[attr=val]  具有名为“attr”的属性且值等于“val”的元素 ( img[width=120] )

(10)[attr="val"]  具有名为“attr”的属性且值等于“val”的元素 ( span[hello="nofollow"] )

组合选择器:

(1)a b  例:div a
查找div 下边的a元素

(2)a>b 例:div>p
查找父元素是div的所有p元素

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值