[英]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.