SMALL

위 사진과 같이 "/급식"을 입력했을 때, 특정한 학교의 급식이 나오는 방법을 공유합니다.
일단 급식을 나이스에서 가져오는 것이기 때문에,
https://open.neis.go.kr/portal/guide/actKeyPage.do
로그인 | 나이스 교육정보 개방 포털
로그인 원하시는 소셜서비스를 선택해 주세요. 복잡한 회원가입 절차없이 SNS 계정으로 인증 및 로그인하여Open API 등의 서비스를 편리하게 이용하실 수 있습니다.
open.neis.go.kr
나이스에서 제공하는 오픈 API를 사용하기 위해서는 인증키를 발급받아야하고, 위 링크에 들어가면 발급받을 수 있습니다.
위 링크의 인증키, 교육청코드, 학교 코드, 날짜 등을 제대로 입력한 후 url에 입력을 하면

위 사진과 같은 결과가 나옵니다.
밑의 코드를 이용하여 파싱하는 방법과 해당 사이트의 html을 가져오는 방법을 참고하시기 바랍니다
function response(room, msg, sender, isGroupChat, replier, imageDB, packageName){
if(msg=="/급식"){
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth();
var date = now.getDate();
month += 1;
month = String( month );
date = String( date );
if(month.length==1){
month = "0" + month;
}
if(date.length == 1){
date = "0" + date;
}
var total = year + month + date;
var result = Utils.getWebText("https://open.neis.go.kr/hub/mealServiceDietInfo?KEY=인증키&Type=json&plndex=1&pSize=30&ATPT_OFCDC_SC_CODE=B10&SD_SCHUL_CODE=7010059&MLSV_YMD="+total, false,false).split("<body>")[1].split("</body>")[0];
try{
calories = result.split("CAL_INFO\":\"")[1].split("\",\"NTR_INFO")[0];
result = result.split("\",\"ORPLC")[0].split("\"DDISH_NM\":\"")[1].replace(/(<([^>]+)>)/g, "");
result = result.replace(/amp;/gi, "");
result = result.replace(/undefined/gi,"");
result = result.replace(/\./gi, "");
result = result.replace(/\*/gi, "");
result = result.trim();
result = result.replace(/^ +/gm,"");
result = result.replace(/[0-9]/g, "");
}
catch(e){
replier.reply("급식 정보가 없습니다");
}
result += "\n";
result += "총 ";
result += calories;
replier.reply(result);
}
}
LIST
'카카오봇' 카테고리의 다른 글
카카오봇 /날씨 + 지역 구현하기 (0) | 2021.12.31 |
---|---|
카카오봇 /시간표 구현하기 (0) | 2021.12.26 |
나의 간단한 카카오 채팅봇 소개 (0) | 2021.12.22 |