美文网首页
Jsoup的select语法

Jsoup的select语法

作者: John_Phil | 来源:发表于2019-03-07 16:05 被阅读0次

    select详解
    Document 继承自 Element 类。select方法将返回一个Elements集合。

    1.通过标签名来查找:
    测试代码:

    <span>33</span>
    <span>25</span>
    

    select写法:

    Elements elements = document.select("span");
    

    下面的例子都按照上面的格式来写,就不进行重复的标注了。

    2.通过id来查找:

    <span  id=\"mySpan\">36</span>
    <span>20</span>
    
    //通过id来查找,使用方法跟css指定元素一样,用#
    Elements elements = document.select("#mySpan");
    

    3.通过class名来查找:

    <span class="myClass">36</span>
    <span>20</span>
    
    //使用方法跟css指定元素一样,用.
    Elements elements = document.select(".myClass");
    

    4.利用标签内属性名查找元素:

    <span class="class1" id="id1">36</span>
    <span class="class2" id="id2">36</span>
    
    //规则为 标签名【属性名=属性值】,多个属性即多个【】,如上
    Elements elements = document.select("span[class=class1]span[id=id1]");
    

    5.利用标签内属性名前缀查找元素:

    <span class="class1" >36</span>
    <span class="class2" >22</span>
    
    //规则为 标签名【^属性名前缀】,多个属性即多个【】
    Elements elements = document.select("span[^cl]");
    

    6.利用标签内属性名+正则表达式查找元素
    对正则表达式不了解的同学下去一定要学习正则表达式哦,因为它在爬虫中可是很重要的。

    <span class="ABC" >36</span>
    <span class="ADE" >22</span>
    
    //规则为 标签名【属性名~=正则表达式】,以上的正则表达式的意思是查找class值以AB为开头的标签
    Elements elements = document.select("span[class~=^AB]");
    

    7.利用标签文本包含某些内容来查找:

    <span>36</span>
    <span>22</span>
    
    //规则为 标签名:contains(文本值)
    Elements elements = document.select("span:contains(3)");
    

    8.利用标签文本包含某些内容+正则表达式来查找:

    <span>36</span>
    <span>22</span>
    
    //规则为 标签名:matchesOwn(正则表达式),以上的正则表式的意思是以文本值以3为开头的标签
    Elements elements = document.select("span:matchesOwn(^3)");
    

    相关文章

      网友评论

          本文标题:Jsoup的select语法

          本文链接:https://www.haomeiwen.com/subject/hwicpqtx.html