5

我想解析这个 HTML 表格的内容:

块引用

这是带有源代码的完整网站:

http://www.kantschule-falkensee.de/uploads/dmiadgspahw/klassen/A_Klasse_11.htm

我想解析每个单元格的数据,以“Montag”(星期一)下的所有 5 个单元格为例。我尝试了几种使用 JSOUP 解析这个网站的方法,但我没有得到任何成功。我的主要目标是在 Android 应用程序的列表视图中显示内容。现在我尝试在 java 控制台中打印内容。两种语言都被接受:)。任何帮助表示赞赏。

4

1 回答 1

20

以下是您需要遵循的步骤:

1) 您可以使用以下任何 java 库进行 HTML 抓取:

2) 使用Xpath 助手

例如1:输入"//tr[1]//td[1]"查询,它将给出位置(1,1)的所有表格元素

例如 2:"/html/body[@class='tt']/center/table[1]/tbody/tr[4]/td[3]/table/tbody/tr/td" 将在 Montag 下为您提供所有 15 个值。

例如 3:"/html/body[@class='tt']/center/table[1]/tbody/tr/td/table/tbody/tr/td" 将为您提供表格的所有 380 个条目

或者

使用Jsoup 的示例

import org.jsoup.Jsoup;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        org.jsoup.nodes.Document doc = Jsoup.connect("http://www.kantschule-falkensee.de/uploads/dmiadgspahw/klassen/A_Klasse_11.htm").get();
        org.jsoup.select.Elements rows = doc.select("tr");
        for(org.jsoup.nodes.Element row :rows)
        {
            org.jsoup.select.Elements columns = row.select("td");
            for (org.jsoup.nodes.Element column:columns)
            {
                System.out.print(column.text());
            }
            System.out.println();
        }

    }
}
于 2015-07-11T18:29:12.067 回答