[英]Jsoup- getting certain attributes from website
最近我開始使用Jsoup並找到了此示例代碼。因為我是newb,所以我不知道如何找到網站上的所有鏈接。有人可以解釋一下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
實現Iterable<Element>
( org.jsoup.select.Elements
和java.lang.Iterable
)
因此,當您使用for
語法時,將遍歷Elements
鏈接,這實際上是Element
類型的List
。 “元素鏈接”是迭代時分配給“鏈接”中每個元素的局部變量。
有關更多信息,請參見:
http://jsoup.org/apidocs/org/jsoup/select/Elements.html和http://jsoup.org/apidocs/index.html
顧名思義, Elements
類和Element
類是相似的。 一個由選定的單個元素組成,另一個是分組在一起的多個元素的集合。
Elements links
由已選擇的Element
對象組成。
Elements
類在Java中實現以下接口:
Cloneable, Iterable< Element>, Collection< Element>, List< Element>.
Elements
類是使用ArrayList<Element>
,因此很容易從Elements
集合中添加和刪除Element
對象。
for
循環,這是一種遍歷Elements
集合中稱為鏈接的每個Element
對象的簡單方法。
循環將遍歷集合,並將變量link
分配給集合中當前名為links
Element
對象。 在for
循環內,將打印當前link
的內容,然后循環從集合中的下一個Element
對象開始。
此循環的語法通常稱為for-each
循環,因為它會遍歷列表或集合中的每個對象。
在這里閱讀!
查看Jsoup API文檔,以了解更多有關如何使用它的信息!
如果您想了解有關如何實現Jsoup的更多信息,請查看源代碼 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.