Advertisement
Guest User

ss

a guest
Oct 31st, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.73 KB | None | 0 0
  1. import org.apache.commons.codec.binary.Base64;
  2. import org.jsoup.Jsoup;
  3. import org.jsoup.nodes.Document;
  4. import org.jsoup.nodes.Element;
  5. import org.jsoup.select.Elements;
  6.  
  7. import javax.print.Doc;
  8. import java.io.BufferedReader;
  9. import java.io.IOException;
  10. import java.io.InputStream;
  11. import java.io.InputStreamReader;
  12. import java.net.Authenticator;
  13. import java.net.HttpURLConnection;
  14. import java.net.PasswordAuthentication;
  15. import java.net.URL;
  16. import java.text.SimpleDateFormat;
  17. import java.util.Calendar;
  18. import java.util.Date;
  19.  
  20. /**
  21.  * Created by musyrif on 30-Oct-17.
  22.  */
  23. public class main {
  24.  
  25.     public static void main(String[] args) throws Exception {
  26.  
  27.         SimpleDateFormat test = new SimpleDateFormat("HH:mm");
  28.         Calendar t = Calendar.getInstance();
  29.         //t.setTime(test.parse("08:00"));
  30.         //t.add(Calendar.MINUTE, 30);
  31.         //System.out.println(test.format(t.getTime()));
  32.  
  33.         String tableSel = "http://info.uniten.edu.my/info/Ticketing.ASP?WCI=TimeTable";
  34.         String domain = "";
  35.         String userName = "";
  36.         String password = "";
  37.  
  38.         Document selDoc = Jsoup.parse(getAuthenticatedResponse(tableSel, domain, userName, password));
  39.         Element link = selDoc.select("a").first();
  40.  
  41.         String urlStr = "http://info.uniten.edu.my/info/"+link.attr("href");
  42.  
  43.         System.out.println(link.text());
  44.         String responseText = getAuthenticatedResponse(urlStr, domain, userName, password);
  45.  
  46.         Document doc = Jsoup.parse(responseText);
  47.         Elements table = doc.getElementsByTag("tbody");
  48.  
  49.         Subject subject[] = new Subject[20];
  50.  
  51.         for (Element tr: table){//2 tables, lecturers information and timetable
  52.             int day = 0;
  53.             Elements trow = tr.getElementsByTag("tr");
  54.             int l = 0;//index for subject array
  55.             for (Element td: trow){//table row, mon to sun
  56.                 t.setTime(test.parse("08:00"));
  57.                 Elements tdata = td.getElementsByTag("td");
  58.                 //int x =0;
  59.                 int startTime = 0;
  60.                 for (Element td1:tdata) {//every td in each trow
  61.                     //if (x==0){System.out.print(td1.text().charAt(0)+ " :   ");}
  62.  
  63.                     if (td1.text().equals(" ")) {//empty table
  64.                         t.add(Calendar.MINUTE, 30);
  65.                         startTime++;
  66.                     }else{ //table with subjects
  67.                         String word = td1.attr("colspan");
  68.                         if (!word.equals("")) {//SUBJECT
  69.                             int length = Integer.parseInt(word);//get subject duration
  70.                             //System.out.print(l+". ("+td1.text() + ") ");//subject details
  71.  
  72.                             //System.out.print(test.format(t.getTime()));//startTime
  73.                             for (int i = 0; i < length; i++) {
  74.                                 t.add(Calendar.MINUTE, 30);
  75.                             }
  76.                             //System.out.print(" - "+ test.format(t.getTime()));//endTime
  77.                             //System.out.print("   |   ");
  78.                             //System.out.print(startTime+" ");
  79.                             subject[l] = new Subject(startTime,length,day,td1.text());
  80.                             startTime+=length;
  81.                             l++;
  82.  
  83.                         }
  84.                     }
  85.                     //x++;
  86.                 }
  87.                 day++;
  88.                 //System.out.println();
  89.             }
  90.             //System.out.println();
  91.         }
  92.         subject[0].toString();
  93.         subject[1].toString();
  94.         subject[2].toString();
  95.         subject[3].toString();
  96.         subject[4].toString();
  97.  
  98.     }
  99.  
  100.  
  101.  
  102.     private static String getAuthenticatedResponse(final String urlStr, final String domain, final String userName, final String password) throws IOException {
  103.  
  104.         StringBuilder response = new StringBuilder();
  105.  
  106.         Authenticator.setDefault(new Authenticator() {
  107.             @Override
  108.             public PasswordAuthentication getPasswordAuthentication() {
  109.                 return new PasswordAuthentication(domain + "\\" + userName, password.toCharArray());
  110.             }
  111.         });
  112.  
  113.         URL urlRequest = new URL(urlStr);
  114.         HttpURLConnection conn = (HttpURLConnection) urlRequest.openConnection();
  115.         conn.setDoOutput(true);
  116.         conn.setDoInput(true);
  117.         conn.setRequestMethod("GET");
  118.  
  119.         InputStream stream = conn.getInputStream();
  120.         BufferedReader in = new BufferedReader(new InputStreamReader(stream));
  121.         String str = "";
  122.         while ((str = in.readLine()) != null) {
  123.             response.append(str);
  124.         }
  125.         in.close();
  126.  
  127.         return response.toString();
  128.     }
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement