Package

Source Code of Main

import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Hashtable;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class Main {

  /**
   * @param args
   * @throws ParseException
   */
  public static void main(String[] args) throws ParseException {
    String[] months = { "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio",
        "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre",
        "Novembre", "Dicembre" };

    Calendar today = Calendar.getInstance();
    Hashtable<String, Integer> table = new Hashtable<String, Integer>();
    Format formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

    for (int i = 0; i < 6; i++) {
      String url = "http://forum.chatta.it/politica/"
          + today.get(Calendar.DAY_OF_MONTH) + "-"
          + months[today.get(Calendar.MONTH)] + "-"
          + today.get(Calendar.YEAR) + "/default.aspx";
      System.out.println(url);
      today.add(Calendar.DAY_OF_YEAR, -1);
      for (String s : Page.getLink(url)) {
        ArrayList<String[]> a = Page.scanPage(s);
        for (String[] l : a) {
          String time = l[1];
          time = time.substring(0, 11) + time.substring(15);
          Date d = (Date) formatter.parseObject(time);
          Calendar cal = Calendar.getInstance();
          cal.setTime(d);
          if (cal.get(Calendar.HOUR_OF_DAY) > 8
              && cal.get(Calendar.HOUR_OF_DAY) < 18
              && cal.get(Calendar.DAY_OF_WEEK) != 1
              && cal.get(Calendar.DAY_OF_WEEK) != 7) {
            if ("DriveAllNight".equals(l[0])) {
              System.out.println( "[url]" + s + "[/url] " + d);
            }
            if (table.containsKey(l[0])) {
              int count = table.get(l[0]);
              table.put(l[0], ++count);
            } else {
              table.put(l[0], 1);
            }
          }
        }
      }
    }
    Map<String, Integer> sortedTable = sortByValue(table);
    for (Entry<String, Integer> e : sortedTable.entrySet()) {
      System.out.println(e.getKey() + " " + e.getValue());
    }

  }

  public static Map<String, Integer> sortByValue(Map<String, Integer> map) {
    List<Map.Entry<String, Integer>> list = new LinkedList<Map.Entry<String, Integer>>(
        map.entrySet());
    Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
      public int compare(Map.Entry<String, Integer> m1,
          Map.Entry<String, Integer> m2) {
        return (m2.getValue()).compareTo(m1.getValue());
      }
    });
    Map<String, Integer> result = new LinkedHashMap<String, Integer>();
    for (Map.Entry<String, Integer> entry : list) {
      result.put(entry.getKey(), entry.getValue());
    }
    return result;
  }
}
TOP

Related Classes of Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.