Java jSoup - 从网络表中获取数据

标签 java jsoup

我希望从此网页获取数据:http://www.sportinglife.com/greyhounds/racecards/29-10-2014/belle-vue

我一直在使用jSoup和Java,但似乎无法获取我正在寻找的数据。我需要每场比赛的时间(跳转到:14:18 14:37 14:57 15:17 15:38 15:58 16:18 16:37 16:57 17:17 17:33 17:47 18:04 18:18)以及它们各自引用的链接。

然后我需要转到每个链接并打印出每场比赛中的 6 只狗。

所以输出如下:

14:18
1 Golden Light
2 Always Late
3 Redley Rooster
4 Redstone Bo Dhu
5 Ballymac Oprah
6 Ballyhill Slide

对于每场比赛。

我当前的代码如下,并使用 jSoup 从比赛中提取运行者 - 但我似乎无法执行获取比赛“时间”的第一步并链接到每个比赛页面,以便我可以循环访问链接并输出每场比赛的运行者。

        Document doc = Jsoup.connect(
            "http://www.sportinglife.com/greyhounds/racecards/29-10-2014/belle-vue/card/834800").get();

    Element tableHeader = doc.select("tbody").first();
    Map<String, String> data = new HashMap<>();
    for (Element element : tableHeader.children()) {
        // Here you can do something with each element
            String dog = element.select("td:eq(0)").text();
            String race = element.select("td:eq(2)").text();
            data.put(dog, race);
            System.out.println(dog + " " + race);

        }

非常感谢任何帮助......谢谢! 罗布

最佳答案

查看您的页面,比赛信息并不直接位于第二个 TD 中,而是位于第二个 TD 中的链接 (a) 中,那么你需要替换:

 String race = element.select("td:eq(2)").text();

与:

 String race = element.select("td:eq(2) a").text();

关于Java jSoup - 从网络表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26628015/

相关文章:

java - 如何在 JAX-RS 方法中获取 POST 参数?

java - 如何在 JSOUP 中选择此元素?

java - 如何在 JAVA 中用新代码更新 HTML Header 和指定的 Div

java - 无法确定最有效的字符串连接

java - 使用 Jsoup 解析 Html 内容

android - 如何在android中通过Jsoup从instagram个人资料页面获取数据

java - 获取文本节点内 anchor 中的文本

java - 无法在 Eclipse 上安装 glassfish 支持

Java接口(interface)的实现?

java - SQL语句没有执行! java.sql.SQLException : General error