从不一致的HTML页面收集数据 - JSoup

时间:2011-11-18 12:45:34

标签: java jsoup

我正在尝试从多个页面获取大量数据,但它并不总是一致的。这是我正在使用的html的一个例子!:

Example HTML

我需要得到类似的东西:团队|团队|结果全部变成不同的变量或列表。

我只是需要一些帮助才能开始,因为我在多个页面上使用的主表在每个人身上都不一样。

到目前为止我的java:

    try {
        Document team_page = Jsoup.connect("http://www.soccerstats.com/team.asp?league=" + league + "&teamid=" + teamNumber).get();
        Element home_team = team_page.select("[class=homeTitle]").first();
        String teamName = home_team.text();
        System.out.println(teamName + "'s Latest Results: ");

        Elements main_page = team_page.select("[class=stat]");
        System.out.println(main_page);

    } catch (IOException e) {
        System.out.println("unable to parse content");
    }

我从我的计划的不同方法中获得联盟和队友。

谢谢!

1 个答案:

答案 0 :(得分:0)

是。这是网页抓取的问题之一。

您必须找出一个或多个启发式方法,这些启发式方法将在您需要访问的所有页面中提取所需的信息。没有灵丹妙药。只是努力工作。 (如果网站更改其页面布局,您将不得不重新执行此操作。)


更好的想法是使用站点或站点的RESTful API请求信息为XML或JSON ...假设它们存在并且可供您使用。

(如果您继续使用网络抓取方法,请检查网站的服务条款,以确保您的活动可以接受。)

相关问题