Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析html Jsoup Android_Java_Android_Jsoup - Fatal编程技术网

Java 解析html Jsoup Android

Java 解析html Jsoup Android,java,android,jsoup,Java,Android,Jsoup,代码: 第40行-->私有类ParsingHome扩展异步任务{ 第101行------>card.team1=CardInfo.team1\u前缀+Teams1.get(i); 第140行-->CardAdapter CardAdapter=新的CardAdapter(createList(Teams1.size()) 问题出在哪里?我不知道。。。。 网页是www.diretta.it HTML ClassificheFRANCIA:Ligue 117:00巴黎SG-Lilla20:00波尔多

代码:

第40行-->私有类ParsingHome扩展异步任务{ 第101行------>card.team1=CardInfo.team1\u前缀+Teams1.get(i); 第140行-->CardAdapter CardAdapter=新的CardAdapter(createList(Teams1.size())

问题出在哪里?我不知道。。。。 网页是www.diretta.it

HTML

ClassificheFRANCIA:Ligue 117:00巴黎SG-Lilla20:00波尔多-Metz20:00卡昂-KINGAMP20:00埃维昂TG-Bastia20:00雷恩-Nizza20:00托洛萨南特

您试图在空列表的索引0处获取一个元素。分数和计时器似乎有0个元素

我不知道解析中的问题出在哪里,因为它看起来是正确的
 @Override
    protected String doInBackground(String... params) {

        try {
            Document doc = Jsoup.connect("http://www.diretta.it/").get();
            Elements partite = doc.select("div.table-main > table.soccer");
            for(Element partita : partite)//per ogni sezione tra gli elementi ricavati prima
            {
                //ricavo ogni riga nella sezione
                Elements righe = partita.select("tbody > tr");
                for(Element riga : righe){
                    //prenso il tempo di inizi
                    String Time = riga.select("td.cell_ad.time").text();
                    //prendo il tempo trascorso
                    String Timer = riga.select("td.cell_aa.timer > span").text();
                    //prendo lo score
                    String Score = riga.select("td.cell_sa.score").text();
                    //prendo il nome del team1
                    String Team1 = riga.select("td.cell_ab.team-home > span").text();
                    //prendo il nome del team2
                    String Team2 = riga.select("td.cell_ac.team-away > span").text();
                    //aggiungo alle liste
                    Times.add(Time);
                    Timers.add(Timer);
                    Scores.add(Score);
                    Teams1.add(Team1);
                    Teams2.add(Team2);

                }
            }
        } catch (Exception e) {
            // gestione dell'eccezione
            Log.e("PROBLEMA", "ERRORE NEL PARSING");
        }
        return null;
    }

    private List createList(int size) {

        List result = new ArrayList();
        for (int i=0; i <= size; i++) {
            CardInfo card = new CardInfo();
            card.team1 = CardInfo.TEAM1_PREFIX + Teams1.get(i);
            card.team2 = CardInfo.TEAM2_PREFIX + Teams2.get(i);
            card.score = CardInfo.SCORE_PREFIX + Scores.get(i);
            card.timer = CardInfo.TIMER_PREFIX + Timers.get(i);
            result.add(card);

        }

        return result;
    }
    @Override
    protected void onPostExecute(String result)
    {
        // dopo che ho eseguito il parsing mostro i dati nella listview
        if(Times.size()==0){

            Log.e("TIMES", "ERRORE NEL PARSING");

        }
        if(Teams1.size()==0){


            Log.e("TEAMS1", "ERRORE NEL PARSING");
        }
        if(Teams2.size()==0){


            Log.e("TEAMS2", "ERRORE NEL PARSING");
        }
        if(Scores.size()==0){


            Log.e("SCORES", "ERRORE NEL PARSING");
        }
        if(Timers.size()==0){


            Log.e("TIMERS", "ERRORE NEL PARSING");
        }
        CardAdapter cardadapt = new CardAdapter(createList(Teams1.size()));
        recyclerList.setAdapter(cardadapt);

    }

}
-24 16:19:58.339  27554-27575/com.gheoo.direttagol I/OpenGLRenderer﹕ Initialized EGL, version 1.4
04-24 16:19:58.354  27554-27575/com.gheoo.direttagol D/OpenGLRenderer﹕ Enabling debug mode 0
04-24 16:19:58.376  27554-27554/com.gheoo.direttagol E/RecyclerView﹕ No adapter attached; skipping layout
04-24 16:19:58.388  27554-27554/com.gheoo.direttagol E/RecyclerView﹕ No adapter attached; skipping layout
04-24 16:19:59.028  27554-27554/com.gheoo.direttagol E/TIMES﹕ ERRORE NEL PARSING
04-24 16:19:59.028  27554-27554/com.gheoo.direttagol E/TEAMS1﹕ ERRORE NEL PARSING
04-24 16:19:59.028  27554-27554/com.gheoo.direttagol E/TEAMS2﹕ ERRORE NEL PARSING
04-24 16:19:59.028  27554-27554/com.gheoo.direttagol E/SCORES﹕ ERRORE NEL PARSING
04-24 16:19:59.028  27554-27554/com.gheoo.direttagol E/TIMERS﹕ ERRORE NEL PARSING
04-24 16:19:59.028  27554-27554/com.gheoo.direttagol D/AndroidRuntime﹕ Shutting down VM
04-24 16:19:59.030  27554-27554/com.gheoo.direttagol E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.gheoo.direttagol, PID: 27554
    java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
            at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
            at java.util.ArrayList.get(ArrayList.java:308)
            at com.gheoo.direttagol.Tab1$ParsingHome.createList(Tab1.java:101)
            at com.gheoo.direttagol.Tab1$ParsingHome.onPostExecute(Tab1.java:140)
            at com.gheoo.direttagol.Tab1$ParsingHome.onPostExecute(Tab1.java:40)
            at android.os.AsyncTask.finish(AsyncTask.java:636)
            at android.os.AsyncTask.access$500(AsyncTask.java:177)
            at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
<div id="fs" class="fs-table" style="opacity: 1;"><div class="table-main"><table class="soccer"><colgroup><col width="55"><col width="80"><col width="191"><col width="57"><col width="191"><col width="51"><col width="68"><col width="23"></colgroup><thead><tr class="league l_1_EDRix5yC primary-top"><td colspan="7" class="head_ab "> <span class="stats-link link-tables fsh"><span class="stats" title="Classifiche">Classifiche</span></span><span class="country right"><span class="flag fl_77 right"></span><span class="name"><span class="country_part">FRANCIA: </span><span class="tournament_part">Ligue 1</span></span></span><span class="toggleMyLeague active 1_77_KIShoMk3" title="Rimuovi questo campionato da Miei Campionati!" onclick="cjs.myLeagues.toggleTop('1_77_KIShoMk3'); return false;"></span></td><td colspan="1" class="head_aa "><div class="dicons"><span class="icons right"><span id="latomyg_1_EDRix5yC" class="tomyg"></span></span></div></td></tr></thead><tbody><tr id="g_1_Um035rWn" class="tr-first stage-scheduled"><td class="cell_ad time ">17:00</td><td class="cell_aa timer "><span>&nbsp;</span></td><td class="cell_ab team-home "><span class="padr">Paris SG</span></td><td class="cell_sa score ">-</td><td class="cell_ac team-away "><span class="padl">Lilla</span></td><td class="cell_sb part-top "><span class="icons"><span class="live-centre"></span></span></td><td class="cell_ia icons "><span class="icons"><span class="tv icon1"></span><span class="slive icon2"></span></span></td><td class="cell_ib icons "><span class="icons right"><span class="tomyg icon0"></span></span></td></tr><tr id="g_1_0Yytls1C" class="even stage-scheduled"><td class="cell_ad time ">20:00</td><td class="cell_aa timer "><span>&nbsp;</span></td><td class="cell_ab team-home "><span class="padr">Bordeaux</span></td><td class="cell_sa score ">-</td><td class="cell_ac team-away "><span class="padl">Metz</span></td><td class="cell_sb part-top "><span class="icons"><span class="live-centre"></span></span></td><td class="cell_ia icons "><span class="icons"><span class="tv icon1"></span><span class="slive icon2"></span></span></td><td class="cell_ib icons "><span class="icons right"><span class="tomyg icon0"></span></span></td></tr><tr id="g_1_I9Wpm1GI" class=" stage-scheduled" style="cursor: pointer;"><td class="cell_ad time">20:00</td><td class="cell_aa timer"><span>&nbsp;</span></td><td class="cell_ab team-home" title="Clicca per i dettagli dell'incontro!"><span class="padr">Caen</span></td><td class="cell_sa score">-</td><td class="cell_ac team-away"><span class="padl">Guingamp</span></td><td class="cell_sb part-top"><span class="icons"><span class="live-centre"></span></span></td><td class="cell_ia icons"><span class="icons"><span class="tv icon1"></span><span class="slive icon2"></span></span></td><td class="cell_ib icons"><span class="icons right"><span class="tomyg icon0"></span></span></td></tr><tr id="g_1_d0VlnLVO" class="even stage-scheduled"><td class="cell_ad time ">20:00</td><td class="cell_aa timer "><span>&nbsp;</span></td><td class="cell_ab team-home "><span class="padr">Evian TG</span></td><td class="cell_sa score ">-</td><td class="cell_ac team-away "><span class="padl">Bastia</span></td><td class="cell_sb part-top "><span class="icons"><span class="live-centre"></span></span></td><td class="cell_ia icons "><span class="icons"><span class="tv icon1"></span><span class="slive icon2"></span></span></td><td class="cell_ib icons "><span class="icons right"><span class="tomyg icon0"></span></span></td></tr><tr id="g_1_G4bB3M0a" class=" stage-scheduled"><td class="cell_ad time ">20:00</td><td class="cell_aa timer "><span>&nbsp;</span></td><td class="cell_ab team-home "><span class="padr">Rennes</span></td><td class="cell_sa score ">-</td><td class="cell_ac team-away "><span class="padl">Nizza</span></td><td class="cell_sb part-top "><span class="icons"><span class="live-centre"></span></span></td><td class="cell_ia icons "><span class="icons"><span class="tv icon1"></span><span class="slive icon2"></span></span></td><td class="cell_ib icons "><span class="icons right"><span class="tomyg icon0"></span></span></td></tr><tr id="g_1_xKnK10VB" class="even stage-scheduled"><td class="cell_ad time ">20:00</td><td class="cell_aa timer "><span>&nbsp;</span></td><td class="cell_ab team-home "><span class="padr">Tolosa</span></td><td class="cell_sa score ">-</td><td class="cell_ac team-away "><span class="padl">Nantes</span></td><td class="cell_sb part-top "><span class="icons"><span class="live-centre"></span></span></td><td class="cell_ia icons "><span class="icons"><span class="tv icon1"></span><span class="slive icon2"></span></span></td><td class="cell_ib icons "><span class="icons right"><span class="tomyg icon0"></span></span></td></tr></tbody></table></div></div>