카카오봇 코로나 정보 파싱 [ 메신저봇 R ]

    목차
반응형

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

  • 구동방식
    - 날씨 데이터 : 네이버 ( Naver.com ) , YTN ( ytn.co.kr )
    - 간단하게 "/코로나" 를 입력했을시 코로나19 정보를 가지고 오는 방식.
  • 소스코드 ( 네이버 )
if (msg.startsWith("/코로나"))  {
    let area = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%BD%94%EB%A1%9C%EB%82%98";
    let ghkrwls = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_01 > p").text()
    let gowp = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_03 > p").text();
    let tkakd = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_04 > p").text();
    let rjatk = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_02 > p").text();
    let rnrso = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_today > ul > li.info_02 > em").text();
    let dhsmf_ghkr = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_01 > em").text();
    let dhsmf_go = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_03 > em").text();
    let dhsmf_tk = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_04 > em").text();
    let dhsmf_rja = org.jsoup.Jsoup.connect(area).get().select("#_cs_production_type > div > div:nth-child(7) > div.status_info > ul > li.info_02 > em").text();

    replier.reply("[코로나19 국내현황]\n\n[일일정보]\n확진환자 : " + dhsmf_ghkr + "\n격리해제 : " + dhsmf_go +"\n사망자 : " + dhsmf_tk +"\n검사진행 : " + dhsmf_rja +"\n\n[종합정보]\n확진환자 : " + ghkrwls +"\n격리해제 : "+ gowp +"\n사망자 :  "+ tkakd +"\n검사진행 : "+ rjatk );
}
  • 소스코드 ( YTN )
if(msg == "/코로나"){
    var data1 = Utils.getWebText("https://www.ytn.co.kr/");
    data1 = data1.replace(/<[^>]+>/g,"");
    data1 = data1.split("확진")[1];
    data1 = data1.split("명")[0];
    data1 = data1.trim();

    var data2 = Utils.getWebText("https://www.ytn.co.kr/");
    data2 = data2.replace(/<[^>]+>/g,"");
    data2 = data2.split("완치")[1];
    data2 = data2.split("명")[0];
    data2 = data2.trim();

    var data3 = Utils.getWebText("https://www.ytn.co.kr/");
    data3 = data3.replace(/<[^>]+>/g,""); data3 = data3.split("사망")[1];
    data3 = data3.split("명")[0];
    data3 = data3.trim();

    replier.reply("[Bot] 코로나19 국내현황\n\n확진 : "+data1+"명\n완치 : "+data2+"명\n사망 : "+data3+"명");
}
반응형