package kr.baeoom.util;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class LunarRead {
public static void main(String[] args) {
List<Lunar> cal201706 = getLunar(2017, 7);
System.out.println(cal201706.size() + "개");
for(Lunar lunar : cal201706){
System.out.println(lunar.getGangiYearH() + "-" +
lunar.getGangiMonthH() + "-" +
lunar.getGangiDateK() + " : "
+ lunar.getSolarWeek() + " : "
+ lunar.isLeapMonth());
}
}
// 달력 데이터를 1개월치를 읽어서 리턴하는 메서드
public static List<Lunar> getLunar(int year,int month) {
List<Lunar> list = new ArrayList<>();
Document doc = null;
String addr = "https://astro.kasi.re.kr:444/life/pageView/5";
try {
addr += "?search_year="+ year + "&search_month="+String.format("%02d",month);
doc = Jsoup.connect(addr).get(); // 연결하여 Document객체를 얻는다.
// 원하는 부분만 가져온다.
// div태그의 클래스이름이 "table-responsive"인것만 찾아서 가져온다.
Elements elements = doc.select("div.table-responsive");
// Elements captions = elements.select("caption"); // 그중에서 caption태그 내용만
// System.out.println(captions.text());
Elements trs = elements.select("tbody tr");
for(Element e : trs){
Elements tds = e.select("td");
Lunar lunar = new Lunar();
lunar.setSolar(tds.get(0).text());
lunar.setLunar(tds.get(1).text());
lunar.setGangi(tds.get(2).text());
list.add(lunar);
}
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
}