-
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package 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;}}
cs 'Java' 카테고리의 다른 글
중위 후위 변환 계산기 (0) 2022.11.15 Java Stream Lotto (0) 2022.09.14 음력 (0) 2017.07.04 달력유틸 (0) 2017.07.04 심이지신 계산하기2 (0) 2017.04.28 댓글