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



我试图从多个页面获得大量数据,但它并不总是一致的。这里是我正在工作的html的一个例子!:

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");
    }

我从我的程序的不同方法得到联赛和团队。

谢谢!

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

您必须找出一个或多个启发式方法,这些启发式方法将从您需要访问的所有页面中提取您需要的信息。没有灵丹妙药。只是努力工作。(如果网站改变了页面布局,你必须重新做一遍。)


一个更好的想法是使用站点或站点的RESTful api以XML或JSON的形式请求信息…假设它们存在并且可供您使用。

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

最新更新