Я хочу проанализировать данные HTML с помощью jsoup (библиотека с открытым исходным кодом Java) - PullRequest
0 голосов
/ 27 ноября 2018

Я создаю приложение для Android, в котором расписание учеников может храниться с использованием его / ее расписания на портале, предоставленного университетом.

Пожалуйста, посмотрите на скриншот, так как расписание показывается в следующем формате:

Please see the image as time table is shown in this format.

Я столкнулся с проблемой, так какНевозможно создать шаблон, который мог бы извлекать данные с веб-сайта, поскольку каждый столбец и строки не имеют тегов id.Пожалуйста, смотрите следующий HTML-код.Если бы кто-то мог определить шаблон, это было бы здорово.Пожалуйста, помните, что я собираюсь использовать Java (Android) только для этого.Все предложения приветствуются.

<div class="portlet-body">

            <div class="table-responsive">
            <table class="table  table-light">
            <thead>
                <tr>
                    <th>&nbsp;</th>

                        <th style="text-align: center; color: black">MON</th>

                        <th style="text-align: center; color: black">TUE</th>

                        <th style="text-align: center; color: black">WED</th>

                        <th style="text-align: center; color: black">THU</th>

                        <th style="text-align: center; color: black">FRI</th>

                        <th style="text-align: center; color: black">SAT</th>

                        <th style="text-align: center; color: black">SUN</th>

                </tr>
            </thead>
            <tbody>

                    <tr>
                        <td class="label-success" style="color: #fff;">08:00 AM - 09:20 AM</td>


                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Enterprise Application Development Lab(4)<br></div>
                                        <div style="color:gray;">SYED ARSLAN SAEED<br></div>
                                        <div style="color:black;"> [INST LAB-I, B-BLOCK]</div>

                                    </td>


                                <td>&nbsp;</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Linear Algebra(3)<br></div>
                                        <div style="color:gray;">SHAHANA  RIZVI<br></div>
                                        <div style="color:black;"> [F5]</div>

                                    </td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>


                    </tr>


                    <tr>
                        <td class="label-success" style="color: #fff;">09:30 AM - 10:50 AM</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Enterprise Application Development Lab(4)<br></div>
                                        <div style="color:gray;">SYED ARSLAN SAEED<br></div>
                                        <div style="color:black;"> [INST LAB-I, B-BLOCK]</div>

                                    </td>

                                <td>&nbsp;</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Enterprise Application Development(3)<br></div>
                                        <div style="color:gray;">ASAD  MAHMOOD<br></div>
                                        <div style="color:black;"> [F4]</div>

                                    </td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Enterprise Application Development(3)<br></div>
                                        <div style="color:gray;">ASAD  MAHMOOD<br></div>
                                        <div style="color:black;"> [B9]</div>

                                    </td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Linear Algebra(3)<br></div>
                                        <div style="color:gray;">SHAHANA  RIZVI<br></div>
                                        <div style="color:black;"> [E5]</div>

                                    </td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>


                    </tr>


                    <tr>
                        <td class="label-success" style="color: #fff;">11:00 AM - 12:20 PM</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Principles of Accounting-I(3)<br></div>
                                        <div style="color:gray;">NOUSHEEN TARIQ BHUTTA<br></div>
                                        <div style="color:black;"> [F6]</div>

                                    </td>

                                <td>&nbsp;</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Principles of Accounting-I(3)<br></div>
                                        <div style="color:gray;">NOUSHEEN TARIQ BHUTTA<br></div>
                                        <div style="color:black;"> [B8]</div>

                                    </td>

                                <td>&nbsp;</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Mobile Application Development(1)<br></div>
                                        <div style="color:gray;">ANSAR  JAVED<br></div>
                                        <div style="color:black;"> [B2]</div>

                                    </td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>


                    </tr>


                    <tr>
                        <td class="label-success" style="color: #fff;">12:30 PM - 01:50 PM</td>

                                <td>&nbsp;</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Mobile Application Development(1)<br></div>
                                        <div style="color:gray;">ANSAR  JAVED<br></div>
                                        <div style="color:black;"> [E5]</div>

                                    </td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>


                    </tr>


                    <tr>
                        <td class="label-success" style="color: #fff;">02:00 PM - 03:20 PM</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Artificial Intelligence(2)<br></div>
                                        <div style="color:gray;">AAMER  NADEEM<br></div>
                                        <div style="color:black;"> [E4]</div>

                                    </td>

                                <td>&nbsp;</td>


                                <td>&nbsp;</td>


                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>


                    </tr>


                    <tr>
                        <td class="label-success" style="color: #fff;">03:30 PM - 04:50 PM</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                    <td style="background-color:#ddd;color:black;text-align: center;border-style: solid;">
                                        <div style="color:black;">Artificial Intelligence(2)<br></div>
                                        <div style="color:gray;">AAMER  NADEEM<br></div>
                                        <div style="color:black;"> [B5]</div>

                                    </td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>

                                <td>&nbsp;</td>


                    </tr>


            </tbody>
        </table>
        </div>



</div>

1 Ответ

0 голосов
/ 06 декабря 2018

с помощью jsoup

Document doc = Jsoup.connect(url).get();
Elements tableElements = doc.select("table");
Elements rows = tableElements.select("tr"); 
// start from 1, exclude 0 which is a header without td's
for (int i = 1; i < rows.size(); i++) {
   Elements cols = rows.get(i).select("td");
   // print all cols
   for(int j = 0; j < cols.size(); j++){
       System.out.println(cols.get(j).text());
   }
}
...