我正在尝试在Google Chrome中创建搜索功能。给定一个字符串,它将突出显示包含此字符串的所有区我用java。我
要做到这一点,首先我需要提取所有可见文本。我试图分析html页面,以弄清楚如何只提取文本。
对于看起来像这样的部分,似乎
为此,我计划使用jsoup。我不知道如何从看起来像这样的部分中提取文本。 (这是一个youtube评论,其中包含“阅读更多”链接和“显示更少”链接)。
从这一节开始,我尝试提取“不会说谎,数据狗是可以添加的”和(“Les mer”或“Vis mindre”,具体取决于它们中的哪一个是可见的)。
<div class="comment-renderer-text" tabindex="0" role="article">
<div class="comment-renderer-text-content">Not gonna lie, dat dog is ADORABLE</div>
<div class="comment-text-toggle hid">
<div class="comment-text-toggle-link read-more">
<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-link" type="button" onclick="return false;">
<span class="yt-uix-button-content">Les mer
</span>
</button>
</div>
<div class="comment-text-toggle-link show-less hid">
<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-link" type="button" onclick="return false;">
<span class="yt-uix-button-content">Vis mindre
</span>
</button>
</div>
</div>
</div>
答案 0 :(得分:1)
我将假设给出的html代码已经在名为doc的文档中。
String text = doc.select("div.comment-renderer-text-content").first().text();
doc.select命令获取包含指定HTML查询的Elements。然后我得到第一个并将其转换为文本。
更多内容可以在这里阅读:Jsoup Selector
修改强>
您可以使用此代码获取可见文本而不是每个类:
String text = doc.body().text();