组合两个 JSoup 元素

Combine two JSoup Elements

我第一次使用JSoup 来解析HTML 两个基于class 的元素。我能够成功地提取每个数据。我遇到的问题是以我想要的方式格式化数据。我提取的数据用于 link 命中计数器。

我想要的最终结果是这样的

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();

非常感谢任何想法或方向!!

当您对 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()+ ",");
    }