最近我开始使用 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());
}
最佳答案
顾名思义,类 Elements
和Element
是相似的。一种由已选择的单个元素组成,另一种是组合在一起的多个元素的集合。
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/