我第一次使用JSoup来基于类解析HTML两个元素。我能够成功提取每个数据。我遇到的问题是以所需的方式格式化数据。我提取的数据用于链接命中计数器。
我想要的最终结果是类似的
https://yadayadayada.com 1,
https://yadayadayada.com 4,
... etc
相反,我得到
https://yadayadayada.com https://yadayadayada.com 1, 4,
这就是我获得当前输出的方式
Document doc = Jsoup.connect(link).get();
Elements links = doc.getElementsByClass("details shorlinkUrl");
Elements count = doc.getElementsByClass("highlight listUrl").append(",");
String counter = count.text();
String linkname = links.text();
System.out.println(prettyname.toString()+count.toString());
String results = new StringBuilder(14).append(prettyname).append(counter).toString();
任何想法或方向都非常受欢迎!
答案 0 :(得分:1)
在Elements对象上调用text()方法时,将从此集合中的所有元素中获取串联文本。您可以遍历单独的元素,并分别从元素中获取文本并进行相应的操作。
Elements links = doc.getElementsByClass("details shorlinkUrl");
Elements count = doc.getElementsByClass("highlight listUrl");
if(links.size()!= count.size()) {
throw new IllegalStateException("Think about this situation");
}
for(int i = 0; i< links.size(); i++) {
System.out.println(links.get(i).text() + " " +count.get(i).text()+ ",");
}