날씨정보 파싱 [ 메신저봇R , kakaobot ]

    목차
반응형

  • 구동 환경
    - OS : Android7
    - 루팅여부 : X 
    - 사용 프로그램 : 카카오봇 ( 메신저R )

  • 구동방식
    - 날씨 데이터 : 다음 ( Daum.net )
    - /날씨 (지역명) 으로 검색했을때 해당 지역의 날씨 정보를 가지고 오는 방식을 채택

  • 해당 소스 코드
if (msg.startsWith("/날씨 "))  {
    let isarea = encodeURIComponent(msg.slice(4)+" 날씨");
    let area = "https://search.daum.net/search?nil_suggest=btn&w=tot&DA=SBC&q=" + isarea;
    let temp = org.jsoup.Jsoup.connect(area).get().select("#weatherColl > div.coll_cont > div > div.wrap_region.today > div.cont_weather > div.cont_today > div.info_temp > div > span > span.desc_temp > strong").text()
    let word = org.jsoup.Jsoup.connect(area).get().select("#weatherColl > div.coll_cont > div > div.wrap_region.today > div.cont_weather > div.cont_today > div.info_temp > div > span > span.desc_temp > span").text();
    let be = org.jsoup.Jsoup.connect(area).get().select("#weatherColl > div.coll_cont > div > div.wrap_region.today > div.cont_weather > div.cont_today > div.info_temp > p").text();
    let vnd = org.jsoup.Jsoup.connect(area).get().select("#weatherColl > div.coll_cont > div > div.wrap_region.today > div.cont_weather > div.cont_today > div.info_another > dl:nth-child(1) > dd").text();
    let tmq = org.jsoup.Jsoup.connect(area).get().select("#weatherColl > div.coll_cont > div > div.wrap_region.today > div.cont_weather > div.cont_today > div.info_another > dl:nth-child(2) > dd").text();
    let al = org.jsoup.Jsoup.connect(area).get().select("#weatherColl > div.coll_cont > div > div.wrap_region.today > div.cont_weather > div.cont_today > div.info_another > a > dl > dd").text();
    replier.reply("["+msg.slice(4) + "의 날씨]\n\n 온도 : " + temp + "\n" + word +"\n"+ be +"\n\n현재풍속: "+ vnd +"\n현재습도: "+ tmq +"\n미세먼지: "+ al);
 }

 

 

 

반응형