gpt4 book ai didi

java - 从 JSoup 中的 html 中删除
标签

转载 作者:行者123 更新时间:2023-12-01 11:11:11 25 4
gpt4 key购买 nike

我尝试从网站上抓取一些内容。我用过JSoup 。我尝试过,

List<String> songs = new ArrayList<String>();
for (Element s : doc.select("#core")) {
System.out.println(s.html());
songs.add(s.text());
}

for (String chord : songs) {
System.out.println(chord);
}

#core<pre>标签。在此<pre>标签,我有一个像下面这样的 div,

Intro: <u>G</u> - <u>Em</u> - <u>C</u> - <u>D</u>
<u>G</u>
Would you dance,
<u>Em</u>
If I asked you to dance?
<u>C</u>
Would you run,
<u>D</u>
And never look back?
<u>G</u>
Would you cry,
<u>Em</u>
If you saw me crying?
<u>C</u> <u>D</u> <u>G</u>
Would you save my soul tonight?

<div id="part1">

<div class="inner">
<u>G</u>
<u>D</u>
<u>C</u> I can be your hero baby
<u>G</u>
<u>D</u>
<u>C</u> I can kiss away the pain
<u>G</u>
<u>D</u>
<u>C</u> I will stand by you forever
<u>G</u>
<u>D</u>
<u>C</u> You can take my breath away
</div>
</div>

当我废弃这个时,Jsoup div 中未保持正确的格式。有没有办法获得<pre>按原样标记内容?

最佳答案

如果你只想抓取内容而不解析它,那么你可以这样做

Connection.Response response = Jsoup.connect("URL_HERE").execute();
System.out.println(response.body()); //This will keep the format as it is from the server.

如果你想解析之后的内容,那么这样做

response.parse();

如果你想删除某些元素,那么你必须解析内容。但如果你解析它,那么那里的任何格式都会丢失。

解决方法是转义要保留空格的元素。从 Jsoup 的作者那里查看 https://stackoverflow.com/a/5830454/1138559虽然你必须转义 <pre> 的内容因为它也包含 html 元素。

关于java - 从 JSoup 中的 html 中删除 <div> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348442/

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