java - Jsoup-从网站获取某些属性

标签 java jsoup

最近我开始使用 Jsoup 并找到了这个示例代码。因为我是新手,所以我不知道如何找到网站上的所有链接。有人能解释一下 for 循环中发生了什么吗?大多数情况下,我以前从未使用过 for 循环的这种语法,所以这对我来说有点困惑。我不太明白循环包含什么。谢谢!

    Elements links = doc.select("a[href]");
    for (Element link : links) {

        // get the value from href attribute
        System.out.println("\nlink : " + link.attr("href"));
        System.out.println("text : " + link.text());

    }

最佳答案

顾名思义,类 ElementsElement是相似的。一种由已选择的单个元素组成,另一种是组合在一起的多个元素的集合。

Elements links组成 Element -已选择的对象。

Elements类在java中实现了以下接口(interface):

Cloneable, Iterable< Element>, Collection< Element>, List< Element>.

Elements类是使用 ArrayList<Element> 实现的,因此很容易添加和删除 Element来自 Elements 的对象 Collection 。

说到for -loop 这是迭代每个 Element 的简单方法Elements 中的对象称为链接的集合。

循环将遍历集合,并分配变量 link到现在Element集合中名为 links 的对象。里面for -循环当前link的内容将被打印,并且循环从下一个 Element 开始集合中的对象。

<小时/>

此循环的语法通常称为 for-each循环,因为它迭代列表或集合中的每个对象。

仔细阅读 here !

<小时/>

查看Jsoup API文档以了解有关如何使用它的更多信息!

<小时/>

如果你想了解更多关于 Jsoup 是如何实现的,请查看source code !

关于java - Jsoup-从网站获取某些属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18212462/

相关文章:

java - BouncyCaSTLe 验证 secp256k1 公钥生成

java - 插入字符串的某些部分

java - JSOUP 解析表格中的表单字段和标签

java - 使用 Jsoup 检索时间标签

Hadoop 中的 Java 代码

java - 用于添加全局存储的 Kafka 流用例

java - 通过过滤器列表运行字符串列表

java - 是否可以使用不同的返回和参数类型进行递归

android - 将 java.util.map 传递给另一个 Activity

html - 如何解析一个html页面并使用html标签的类名或id取出文本?