如何提取使用jsoup的价值?

时间:2016-02-09 22:56:01

标签: 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标签后面带有Value First的td标签的值(它是0,我需要找到它)和Second(再次需要找到5)。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

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();
        }
    }
}
相关问题