我在fiddle中有一张桌子。我需要查找与包含给定文本的行相关的数据。



例如,通过提供1707,我需要获取包含1707的表行中的所有数据。因此输出应如下所示。


  2014年8月5日星期二1707 33 43 47 52图片文字


目前,我正在访问html页面上的数据,如下所示。

    Document doc;
    try {
        doc = Jsoup
                .connect("url here").timeout(300000).userAgent("Mozilla").get();

        Element table = doc.select("table#customers").first();
        if (table != null) {
            Iterator<Element> iterator = table.select("td").iterator();
            while (iterator.hasNext()) {
                System.out.println("Day : " + iterator.next().text());
                System.out.println("Date : " + iterator.next().text());
                System.out.println("Draw : " + iterator.next().text());
                System.out.println("No1 : " + iterator.next().text());
                System.out.println("No2 : " + iterator.next().text());
                System.out.println("No3 : " + iterator.next().text());
                System.out.println("No4 : " + iterator.next().text());
                System.out.println("Symbol : " + iterator.next().text());
                System.out.println("Non : " + iterator.next().text());
            }
        } else {
            System.out
                    .println("No results were found according to search criteria.");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}


上面的代码返回表上的所有数据。但是我需要获取与给定文本相关的数据。

我怎么能做到这一点?

最佳答案

jsoup documentation中所示,您可以使用伪选择器:contains(text)

table.select("tr:contains(1707) td")


您可以尝试here

10-07 19:31