如何使用 jsoup 提取 <td> 的值?
How to extract value of <td> using jsoup ?
我有一个由该工具生成的 HTML,所以我无法控制它。当我尝试使用 jsoup 从 html 中提取值时,我面临着识别元素的挑战,因为它们尚未为其定义 ID。
<table width="45%" border="0">
<tr bgcolor="#666666">
<td width="45%" height="24"><strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Risk Level</font></strong></td><td width="55%" align="center"><strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Defects</font></strong></td>
</tr>
<tr bgcolor="#e8e8e8">
<td><font size="2" face="Arial, Helvetica, sans-serif"><a href="#first">First</a></font></td><td align="center"><font size="2" face="Arial, Helvetica, sans-serif">0</font></td>
</tr>
<tr bgcolor="#e8e8e8">
<td><font size="2" face="Arial, Helvetica, sans-serif"><a href="#second">Second</a></font></td><td align="center"><font size="2" face="Arial, Helvetica, sans-serif">5</font></td>
我需要找到 td 标签后面的 td 标签的值,其中值第一(为 0,我需要找到它)和第二(为 5,再次需要找到)。
如有任何帮助,我们将不胜感激。
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) {
// SET the URL
String url = "http://localhost/parser.html";
try {
// Obtain the HTML
Document doc = Jsoup.connect(url).get();
// Get font tag in every second td tag
Elements tdsFont = doc.select("td:nth-child(2n) > font");
for (Element element : tdsFont) {
System.out.println(element.text());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
我有一个由该工具生成的 HTML,所以我无法控制它。当我尝试使用 jsoup 从 html 中提取值时,我面临着识别元素的挑战,因为它们尚未为其定义 ID。
<table width="45%" border="0">
<tr bgcolor="#666666">
<td width="45%" height="24"><strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Risk Level</font></strong></td><td width="55%" align="center"><strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">Defects</font></strong></td>
</tr>
<tr bgcolor="#e8e8e8">
<td><font size="2" face="Arial, Helvetica, sans-serif"><a href="#first">First</a></font></td><td align="center"><font size="2" face="Arial, Helvetica, sans-serif">0</font></td>
</tr>
<tr bgcolor="#e8e8e8">
<td><font size="2" face="Arial, Helvetica, sans-serif"><a href="#second">Second</a></font></td><td align="center"><font size="2" face="Arial, Helvetica, sans-serif">5</font></td>
我需要找到 td 标签后面的 td 标签的值,其中值第一(为 0,我需要找到它)和第二(为 5,再次需要找到)。
如有任何帮助,我们将不胜感激。
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) {
// SET the URL
String url = "http://localhost/parser.html";
try {
// Obtain the HTML
Document doc = Jsoup.connect(url).get();
// Get font tag in every second td tag
Elements tdsFont = doc.select("td:nth-child(2n) > font");
for (Element element : tdsFont) {
System.out.println(element.text());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}