Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.40 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.StringTokenizer;
  3. public class Parser {
  4.    
  5.     private String str; // stringa da parsare
  6.    
  7.     public Parser(String str) {
  8.         this.str = str;
  9.     }
  10.    
  11.     public static ArrayList generaLink(String str) {
  12.        
  13.         ArrayList<String> arrayString = new ArrayList();
  14.         ArrayList<String> arrayLink = new ArrayList();
  15.        
  16.         StringTokenizer sToken = new StringTokenizer(str);
  17.        
  18.         while (sToken.hasMoreTokens()) {
  19.             if (sToken.nextToken().equals("<div"))
  20.                 if (sToken.nextToken().equals("class=\"views-field"))
  21.                     if(sToken.nextToken().equals("views-field-title\">"))
  22.                         if (sToken.nextToken().equals("<h6"))
  23.                             if(sToken.nextToken().equals("class=\"field-content\"><a"))
  24.                                 arrayString.add(sToken.nextToken());
  25.         }
  26.        
  27.         for (int i=0; i<arrayString.size(); i++) {
  28.             String x = arrayString.get(i);
  29.             StringTokenizer stx = new StringTokenizer(x,"\" ");
  30.             String link = "http://web.dmi.unict.it";
  31.            
  32.             while (stx.hasMoreTokens())
  33.                 if(stx.nextToken().equals("href="))
  34.                     arrayLink.add(link+stx.nextToken());
  35.         }
  36.        
  37.         return arrayLink;
  38.     }
  39.    
  40. }
  41.  
  42.  
  43.  
  44.  
  45.  
  46. import java.io.File;
  47. import java.text.DateFormat;
  48. import java.util.StringTokenizer;
  49. import org.jsoup.*;
  50. import org.jsoup.nodes.Document;
  51. import java.util.ArrayList;
  52. import java.util.Calendar;
  53. import java.util.Date;
  54. import java.util.GregorianCalendar;
  55. import java.util.Locale;
  56. import java.util.TimeZone;
  57. public class ParserAvvisi_DMIUNICT {
  58.     static String pathData = "..\\..\\data";
  59.     // C:\Users\Pierpaolo\Documents\NetBeansProjects\ParserAvvisi_DMIUNICT\data            
  60.     public static void main(String[] args) throws InterruptedException {
  61.        
  62.         Document doc;  
  63.         Parser parser;
  64.         File file;
  65.         while (true) {
  66.            
  67.             // Gestione calendario + estrapolazione link
  68.             Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Europe/Rome"),Locale.ITALY);
  69.             Date today = calendar.getTime();
  70.             DateFormat dateFormat =DateFormat.getDateInstance(DateFormat.SHORT, Locale.ITALY);
  71.             String data = dateFormat.format(today); // 16/10/17
  72.             String mese = data.substring(3,5); // 10
  73.             String anno = data.substring(6,8); // 17
  74.             String inLink = "20"+anno+mese;
  75.            
  76.            
  77.             // Gestione file
  78.             if (true);
  79.            
  80.                
  81.                
  82.                
  83.             // Gestione estrapolazione documento HTML    
  84.             doc = new Document ("");
  85.             try {
  86.                 doc = Jsoup.connect("http://web.dmi.unict.it/Didattica/Laurea%20Triennale%20in%20Informatica%20L-31/Avvisi/Archivio%20Avvisi/"+inLink).get();
  87.             } catch(Exception e) {
  88.                 e.printStackTrace();
  89.             }
  90.             String stringa = doc.toString();
  91.            
  92.             // Parsing + Estrapolazione link
  93.             parser = new Parser(stringa);
  94.             ArrayList<String> link = Parser.generaLink(stringa);
  95.             System.out.println(link.toString());
  96.             Thread.sleep(5000);
  97.         }
  98.        
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement