package talkcrawler; import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.TimeZone; public class TalkCrawler { /** * COMMAND * 引数がない場合には、前日の月のクローリングを行う * 年月が指定された場合には、指定の月のクローリングを行う * 引数に「all」が指定された場合には、すべてのクローリングをやり直す * * @param args * @throws IOException * @throws java.text.ParseException */ public static void main(String[] args) throws IOException, ParseException { Calendar calendar = Calendar.getInstance(); if (args.length >= 1) { String argStr = args[0]; if (argStr.toLowerCase().equals("all")) { // 引数に「all」が指定された場合には、すべてのクローリングをやり直す TalkCrawlerProperties prop = new TalkCrawlerProperties().load(); MonthlyIndex ins = new MonthlyIndex(prop); ins.load(); return; } else { // 年月が指定された場合には、指定の月のクローリングを行う DateFormat inputDate = new SimpleDateFormat("yyyy-MM"); calendar.setTime(inputDate.parse(argStr)); calendar.add(Calendar.MONTH, 1); } } else { // 引数がない場合には、前日の月のクローリングを行う calendar.setTime(new Date()); calendar.add(Calendar.DAY_OF_MONTH, -1); } DateFormat df = new SimpleDateFormat("yyyy-MMMMMMMM", Locale.UK); df.setTimeZone(TimeZone.getTimeZone("GMT")); String monthly = df.format(calendar.getTime()); System.out.println("TalkCrawler "+ monthly); TalkCrawlerProperties prop = new TalkCrawlerProperties().load(); DailyIndex ins = new DailyIndex(prop, monthly, "date.html"); ins.load(); } }