[英]Extract strings using Jsoup
我正在嘗試通過使用Jsoup
庫在網站html
頁面中獲取一些名稱表單class
屬性,問題是我正在使用getElementsByClass("name")
通過類獲取元素並將其存儲到字符串變量和結果中像這樣“邁克·安德羅·羅伯·班克斯瑪麗亞·傑拉多·路易斯·...等等” 但我想要的是將各個名稱分開並將它們存儲到數組中。 以下是代碼段:
public String processText(String htmlPage) {
Document html = Jsoup.parse(htmlPage);
String names = html.body().getElementsByClass("name").text();
return names;
}
更多信息:
源頁面是html
頁面,我將完整的html代碼保存在字符串中,然后處理該字符串以僅提取class="name"
下的Elements。
我傳遞給processText
方法的htmlPage
與以下內容相似:
<div class="name"> Rob Kardashian </div> </div> </a> </div> <div class="channelListEntry"> <a href="/zayn_malik"> <div class="image"> <img src="http://cdn.posh24.com/images/:profile/014cf47ca44daf8f44a3e0720929ee327" alt="Zayn Malik"/> </div> <div class="info"> <div class="status-container"> <div class="position">4</div> <div class="img pos"></div> <div class="value">+12</div> </div> <div class="name"> Zayn Malik </div> </div> </a> </div> <div class="channelListEntry"> <a href="/kanye_west"> <div class="image"> <img src="http://cdn.posh24.com/images/:profile/03f352f71ffab135cd81821eb190d4832" alt="Kanye West"/> </div> <div class="info"> <div class="status-container"> <div class="position">5</div> <div class="img pos"></div> <div class="value">+16</div> </div> <div class="name"> Kanye West </div> </div> </a> </div> <div class="channelListEntry"> <a href="/kendall_jenner"> <div class="image"> <img src="http://cdn.posh24.com/images/:profile/066d5c02547c4357f1bc5f633c68f4085" alt="Kendall Jenner"/> </div>
您可以簡單地使用split
函數從字符串獲取數組
String arr[]=names.trim().split("\\s");
如果您在名稱之間組合了空格和制表符,請使用
String arr[]=names.split("\\s+");
更新:
ArrayList<String> name=new ArrayList<String>();
for (Element output: html.body().getElementsByClass("name")) {
name.add(output.text());
}
輸出:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.