java - jSoup使用td类标签从网页获取数据

标签 java jsoup

我想从 http://www.futbol24.com/Live/?__igp=1&LiveDate=20141104 获取数据使用jSoup。我知道如何使用 jSoup - 但我发现很难确定我需要的数据。

我想要 tbody 表格每一行的时间、主队和客队。所以第一行的输出应该是:

08:30     Persipura Jayapura      Pelita Bandung Raya

我可以看到每个元素的 td 类为“status alt”、“home”和“guest”。

目前我已经尝试了以下方法,但它似乎没有输出任何内容......我做错了什么?

        matches = new ArrayList<Match>();

             //getHistory
            String website = "http://www.futbol24.com/Live/?__igp=1&LiveDate=20141104";
            Document doc = Jsoup.connect(website).get();

            Element tblHeader = doc.select("tbody").first();
            List<Match> data = new ArrayList<>();
            for (Element element1 : tblHeader.children()){

                Match match = new Match();
                match.setTimeOfMatch(element1.select("td.status.alt").text());
                match.setAwayTeam(element1.select("td.home").text());
                match.setHomeTeam(element1.select("td.guest").text());

                data.add(match);
                System.out.println(data.toString());

有人知道如何使用 jSoup 从表格的每一行获取这些元素吗?

谢谢

最佳答案

这个网站的内容似乎是通过 AJAX 生成的。 Jsoup 无法处理这个问题,因为它不是解释 JavaScript 的浏览器。要解决这个抓取问题,您可能需要类似 Selenium webdriver 的东西。我之前对有关此问题的一般性问题给出了较长的答案,因此请看这里:

Jsoup get dynamically generated HTML

关于java - jSoup使用td类标签从网页获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26723018/

相关文章:

java - 通过jSoup从Div标签获取属性值

java - 需要 JPA/Hibernate 实体上的 setter 来获取 ID 和外部实体

java - 无法解析 com.android.tools.build :gradle:7. 0.0

java - 在 Java 中添加到双向链表数据结构的末尾

java - Selenium @test(dependsOnMethods)错误

java - 如何在Jsoup中获取不同标签之间的文本?

android - 来自 URL 的 CSS 在 JSoup 中不起作用

java - 为什么我不能将 java.util.Date 与 mysql 日期进行比较?

java - 解析不显示内容

java - Jsoup 获取多个类的 li