编程语言
首页 > 编程语言> > java-如何在html / text内容中获取文本?

java-如何在html / text内容中获取文本?

作者:互联网

大家好
我有html / text之类的东西:

<html><head><style type="text/css">
</style></head>
<body><div style="font-family:times new roman,new york,times,serif;font-size:14pt">first text<br><div><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 14pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">one:</span></b> second text<br><b><span style="font-weight: bold;">two:</span></b> third text<br><b><span style="font-weight: bold;">three:</span></b> fourth text<br><b><span style="font-weight: bold;">five:</span></b> fifth text<br></font><br>

我想在上面的html内容中提取名为“第一个文本”的文本
注意:此html内容不是静态的,而是动态的,因此一般的想法是获取html文本中的第一个纯文本

解决方法:

您标记了,所以您正在使用Jsoup.这已经是一个不错的选择;)

使用Jsoup的方法如下:

String html = "<html><head><style type=\"text/css\"></style></head><body><div style=\"font-family:times new roman,new york,times,serif;font-size:14pt\">first text<br><div><br></div><div style=\"font-family: times new roman,new york,times,serif; font-size: 14pt;\"><br><div style=\"font-family: times new roman,new york,times,serif; font-size: 12pt;\"><font size=\"2\" face=\"Tahoma\"><hr size=\"1\"><b><span style=\"font-weight: bold;\">one:</span></b> second text<br><b><span style=\"font-weight: bold;\">two:</span></b> third text<br><b><span style=\"font-weight: bold;\">three:</span></b> fourth text<br><b><span style=\"font-weight: bold;\">five:</span></b> fifth text<br></font><br>";
Document document = Jsoup.parse(html);
String firstText = document.select(":containsOwn(text)").first().ownText();
System.out.println(firstText);

结果:

first text

也可以看看:

> Jsoup CSS selector syntax

标签:jsoup,html-parsing,java,jsoup
来源: https://codeday.me/bug/20191102/1995108.html