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%的问题都在官网找到了方法。

  • 相关阅读:
    Python正则匹配字母大小写不敏感在读xml中的应用
    Python中的正斜杠与反斜杠
    C# 向批处理文件输入字符
    推荐我看过的几本好书给大家(1)
    windows下mysqlpython安装出错
    PJBlog的文章转换成BlogEngine的xml格式文章
    测试Writer
    一个比较好用的DBHelper
    MSN 2009在2008下面的问题
    关于GridView中绑定TemplateField值丢失的问题
  • 原文地址:https://www.cnblogs.com/jerrychen/p/4667306.html
Copyright © 2011-2022 走看看