• jsoup 使用总结2--高级用法之 :gt(n)


    jsoup 使用总结2--高级用法之 :gt(n)

    大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询;具体使用方法可以参考jsoup官网文档

    部分html代码:

    <div class="example_row">
        <a href="http://www.example.com/news.html" target="_blank">真相</a></h3>
        <a href="http://www.example.com/news/cat/13" target="_blank">今日头条</a>
        <a href="http://www.example.com/news/cat/16" target="_blank">各地新闻</a>
        <a href="http://www.example.com/news/cat/14" target="_blank">行业报告</a>
        <a href="http://www.example.com/news/cat/15" target="_blank">政府政策</a>
        <a href="http://www.example.com/news/cat/18" target="_blank">疾病防护</a>
        <a href="http://www.example.com/news/cat/20" target="_blank">科普</a>
    </div>
    

    java代码:

    Document doc = Jsoup.connect("www.example.com").timeout(0).get();
    Elements links = doc.select("div.example_row").select("a");
    for(Element link : links)
    {
       String linkHref = link.attr("href"); 
       String linkText = link.text();
       ...
    }
    Element link = doc.select("a").first();
    Element link_2 = doc.select("a").last();
    

    如何我们想直接找到"政府政策"的DOM元素呢,有没有其他方式
    当然有了,下面是代码:

     Element link = doc.select("div.example_row").select("a:eq(4)");
     // 4 对应 一个div example_row 下所以a元素的数组的下标
     String linkText = link.text(); // 政府政策
    

    当然这里的例子比较简单,但是eq(n)的用法我是交给你了呀。

    同理还有:

    :lt(n)
    :gt(n)
    

    希望能解决你手边的问题。

    另外推荐阅读jsoup的官网文档,我80%的问题都在官网找到了方法。

  • 相关阅读:
    Day-11 闭包和迭代器
    Day-01 Python基础
    Day-10 函数的进阶
    Day-09 初识函数
    Day-08 文件操作
    Day-07 基础数据类型补充 set集合 深浅拷贝
    Day-06 小数据池 再谈编码
    Day-05 基础数据类型字典dict
    Day-04 基础数据类型list, tuple
    NodeJs获取两个日期间的所有日期
  • 原文地址:https://www.cnblogs.com/jerrychen/p/4667306.html
Copyright © 2020-2023  润新知