簡體   English   中英

如何通過標簽從與其他類同名的跨度 class 中獲取元素?

[英]How can I get elements by tag from a span class which has the same name as other classes?

我無法從與其他同名的單個跨度 class 獲取內容。 在我之前的嘗試中,它還給了我其他 span 類不想要的內容。 我找到了一個可行的解決方案,但我認為它不夠堅固。

所以首先我連接:

Document doc = Jsoup.connect("https://www.imdb.com/list/ls005750764/").get();

然后我select一個class:

Elements rating = doc.select("div.ipl-rating-star.small");

這個 class 包含 2 個跨度類,我想要其中一個,它是:

"span.ipl-rating__star"

其他跨度類在“div.ipl-rating-star.small”之外,因此我的程序中沒有重復出現標簽名稱。 在這里,我將內容添加到數組列表中。

添加到數組列表:

for(Element g: rating) {
    ratings.add(g.getElementsByTag("span").text());
}

當我打印數組列表的內容時,我得到了我想要的內容,更重要的是,它僅來自我希望它來自的范圍 class,因為解析被迫留在我選擇的 div class 內。

我現在主要關心的是這個 div class 中的另一個跨度 class,因為即使兩個標簽都是跨度,程序也不會與它混淆。 對此的任何想法都會有所幫助。

我設法通過以下方式獲得星級:

doc.select("div[class^=\"ipl-rating-star small\"]").select("span[class=\"ipl-rating-star__rating\"]").text().split(" ")

這將返回一個String[] ,其中包含您想要的星級。

請查看文檔以獲取一些好的示例以從中復制: https://jsoup.org/cookbook/extracting-data/dom-navigation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM