Jsoup和格式输出

时间:2017-11-03 10:17:27

标签: java eclipse web-scraping

/ 我一直在阅读和学习JSoup和网页抓取(我用eclipse IDE JAVA语言编写代码),这是我第一次想出一些我感兴趣的东西。 我本质上是在创建一个程序,就像一个基于文本的仪表板,特定于我认为与我的兴趣相关的, 包含我想要的信息,这个开始是现场的 板球比分(Go Gossies) /

/ 我很乐意接受我的问题的任何帮助,因为现在我从相关页面得到了结果,但是我希望添加Match Headings即Twenty 20标题然后所有相关游戏返回,然后也许测试分数的标题等...这些标题是可用的,我通过temp4变量访问它们,但是当我将代码添加到循环并打印结果基本上它没有排列正确,因为不同的长度match-section-head vs say innings-info-1。所以我会得到所有的标题,但会在它们下面有错误的游戏,并且它不会给我页面上的所有结果。 /

我的问题是:我如何才能正确使用存储不同比赛标题的match-section-head元素,即(Twenty20 Competition,Test Matches,Women's ODI)。最初我是将它添加到循环中,但由于匹配标题少得多,所以实际匹配会使我的所有结果无序。

//我已经包含了所有代码,你可以在我的评论中看到我试图用temp4变量做什么

提前感谢所有帮助,快乐编程。

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


public class CricketWebScrape
{

    public static void main(String[] args)
    {
        //Beginning of initial code connection to Website, add browser userAgent

        try
        {
            Document document = Jsoup.connect("http://www.espncricinfo.com/ci/engine/match/index.html?view=live").userAgent("Safari/11.0").get();

            //Elements object variables initialized and connecting to      Websites valid Elements via div.

            Elements temp = document.select("div.innings-info-1");
            Elements temp2 = document.select("div.innings-info-2");
            Elements temp3 = document.select("div.match-status");
            Elements temp4 = document.select("div.match-section-head");


            //Beginning of Loop that goes through all Elements listed above

            for (int i = 0; i < temp.size() && i < temp2.size() && i < temp3.size(); i ++)//&& temp4.size(): i ++
            {

                //Print statements to show valid data

                //System.out.println("**** " + temp4.get(i).text() + " ****");
                System.out.println(" ");
                System.out.println(temp.get(i).text()
                        + " vs " + temp2.get(i).text());
                System.out.println(temp3.get(i).text());
                System.out.println(" ");

            }

        }

        catch (IOException e)
        {

            e.printStackTrace();
        }

    }
}

0 个答案:

没有答案