zoukankan      html  css  js  c++  java
  • 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%的问题都在官网找到了方法。

  • 相关阅读:
    AFN 控制字符报错(无法解析)
    HTTP POST请求报文格式分析与Java实现文件上传
    xcrun
    Makefile选项CFLAGS,LDFLAGS,LIBS
    Xcode 编译错误
    iOS 11 适配
    机器学习算法之决策树
    Python extend 和 append 的区别
    Python warning_function name should be lowercase
    使用matplotlib绘制导数图像
  • 原文地址:https://www.cnblogs.com/jerrychen/p/4667306.html
Copyright © 2011-2022 走看看