gpt4 book ai didi

java - 使用 Jsoup 从 span 类中提取数据时出现问题

转载 作者:行者123 更新时间:2023-12-02 10:23:54 27 4
gpt4 key购买 nike

您好,我需要以下代码的解决方案。我尝试从 span 类中提取文本,但似乎所有文本都在同一时间提取,这样我就可以一一提取文本。

JAVA代码

public class Exractor {
public static void main(String[] args) throws IOException {
Document d = Jsoup.connect("https://www.brainyquote.com/topics").get();
Elements e = d.select("div.col-md-4");
for(Element el : e){
Elements name = el.getElementsByTag("a");
String text = name.text();
System.out.println(text);
}
}
}

HTML 输出

<div class="col-sm-6 col-md-4"> 
<div class="bq_fl content indexContent topicContent">
<div class="row">
<div class="col-sm-6 col-xs-6">
<div class="bqLn">
<div class="bqLn">
<a href="/topics/age" class="topicIndexChicklet" onclick="topicCl('/topics/age',1,'Index')">
<span class="topicContentName">Age</span> <span class="topicIndexArrow">
<i class="fa fa-chevron-right" aria-hidden="true"></i>
</span>
<div style="clear:both"></div></a>
</div>
</div>
<div class="bqLn">
<div class="bqLn">
<a href="/topics/alone" class="topicIndexChicklet" onclick="topicCl('/topics/alone',2,'Index')">
<span class="topicContentName">Alone</span> <span class="topicIndexArrow">
<i class="fa fa-chevron-right" aria-hidden="true"></i>
</span>
<div style="clear:both"></div></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

JAVA 输出

孤独的年龄惊人的愤怒周年纪念建筑艺术态度美丽最好的生日聪明的商务车机会改变圣诞节通讯计算机酷勇气爸爸约会死亡设计饮食梦想复活节教育环境平等经验失败信仰家庭著名父亲节恐惧金融健身食物宽恕自由友谊有趣的 future 园艺神好政府毕业大幸福健康史回家希望幽默想象力独立励志智慧嫉妒 知识 领导力学习 法律生活 爱情 婚姻 医学阵亡将士纪念日 男人 妈妈 金钱 早安 母亲节 励志电影 继续前进 音乐 自然 新年育儿 耐心 爱国主义 和平 宠物诗歌 政治 积极权力关系 宗教 尊重 浪漫 悲伤 圣帕特里克节 科学 微笑社会 太空 体育 力量 成功 同情教师科技青少年感恩节时间旅行信任真理情人节退伍军人节 war 婚礼智慧女性工作

预期输出

  • 年龄
  • 独自一人
  • 太棒了
  • 愤怒

我做错了什么,但我不明白请帮助我

最佳答案

public class Exractor {
public static void main(String[] args) throws IOException {
Document d = Jsoup.connect("https://www.brainyquote.com/topics").get();
Elements e = d.select("div.col-md-4");
for(Element el : e){
Elements names = el.getElementsByTag("a"); //getElementsByTag returns elements
for(Element name: names) {
String text = name.text();
System.out.println(text);
}
}
}
}

在您的代码中,el.getElementsByTag("a");返回的元素。从元素级别获取 text() 获取此元素及其所有子元素的组合文本。

关于java - 使用 Jsoup 从 span 类中提取数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54123403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com