Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java解析/提取HTML表、网站_Html_Html Parsing_Jsoup_Html Table_Html Tableextract - Fatal编程技术网

用Java解析/提取HTML表、网站

用Java解析/提取HTML表、网站,html,html-parsing,jsoup,html-table,html-tableextract,Html,Html Parsing,Jsoup,Html Table,Html Tableextract,我想解析此HTML表的内容: 以下是包含源代码的完整网站: 我想解析每个单元格的数据,以“Montag”(星期一)下的所有5个单元格为例。 我尝试了几种使用JSOUP解析这个网站的方法,但都没有成功。我的主要目标是在Android应用程序的列表视图中显示内容。目前,我尝试在java控制台中打印内容。接受两种语言:)。非常感谢您的帮助。以下是您需要遵循的步骤: 1) 您可以使用以下任何java库进行HTML抓取: 2) 使用 例1:在查询中输入“//tr[1]//td[1]”,

我想解析此HTML表的内容:

以下是包含源代码的完整网站:

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

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

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

2) 使用

例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成功地解析了编写糟糕的HTML中的类似表。原始海报需要花费更多的时间和耐心来研究jsoup以掌握诀窍。我已经在使用selenium来选择表标记,如何将其作为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();
        }

    }
}