반응형

PHP와 카카오톡(KakoTalk) 자동응답 API를 이용하여 학식 봇 제작 - 3


(현재 필자의 표정)

얼른 시작합시다...

귀차니즘이 폭발하기 시작하였으니까.. 점점 글이 짧아지는 마법




먼저 학식의 정보를 반환해주는 주소나 위치를 파악한다!

그리고 위의 사진과 같이 Postman을 이용하여 어떻게 반환하는지 확인한다!

Json으로 반환하고 요일과 건물로 나뉘어서 쨘쨘쨘! 하고 나오는 것을 확인 할 수 있다.

이런 완전 개이득인걸~ 이렇게 완전 정리해서 주다니~ 

여기선 JSON을 php로 파싱, 크롤링하기면 하면되니까 그렇게 어렵지 않을 듯 싶다!

자 그럼 이제 위의 반환 값을 통하여 .txt파일로 저장을하자!!(원래 DB로 할랬는데...)



$contents = file_get_contents('http://학식 정보를 가져오는 URL'); $user = json_decode($contents); $tt = date("Y-m-d"); $week = array("Sun","mon","tue","wed","thu","fri","sat"); $yoil = $week[date("w")]; echo $tt," ",$yoil,"\n";

$file = fopen("~경로/data/".$tt."_name.txt", "w") or die("Unable to open file!!\n"); fwrite($file,$tt. " ". $yoil."\n"); foreach ($user->resultList as $item){ if(strstr($item->roomName, "분식")){ fwrite($file,"\n분식(라면)\n11:30 ~ 14:00 / 17:00 ~ 18:30\n" ); print_r(str_replace("/","",$item->$yoil)); fwrite($file, str_replace("/","",$item->$yoil)); fwrite($file, "==========\n"); } else if(strstr($item->roomName, "양식")){ fwrite($file, "\n양식\n11:30~14:00 / 17:00 ~ 18:30\n"); #echo "양식\n"; #echo "11:30 ~ 14:00 / 17:00 ~ 18:30\n"; print_r(str_replace("/","",$item->$yoil)); fwrite($file, str_replace("/","",$item->$yoil)); fwrite($file, "==========\n"); } else if(strstr($item->roomName, "한식")){ fwrite($file, "\n한식\n11:30~14:00 / 17:00 ~ 18:30\n"); #echo "한식\n"; #echo "11:30 ~ 14:00 / 17:00 ~ 18:30\n"; print_r(str_replace("/","",$item->$yoil)); fwrite($file, str_replace("/","",$item->$yoil)); fwrite($file, "==========\n"); } } fclose($file);


소스코드를 보면 현재요일에 해당하는 값을 ~경로/data/현재요일_name.txt로 저장하는 것을 알 수 있다. 

매일 현재요일에 해당하는 식단을 .txt로 저장하는 것이다~ 매주 단위로 긁어와도 되지만, 그것은 편할때로 하면 된다~

그리고 중간에 가독성을 올려주기 위해 str_replace를 이용하여 적절히 치환하여 저장하고, 음식 분류마다 구분하기 위해

=====를 넣었다. 

만약에 이 글을 보시는 분들중에서 JSON형태로 반환하는 URL을 찾았다면, 위의 소스를 적절히 고쳐서 

만들면 손쉽게 만들 수 있을 거라 생각 된다!! 

뭔가 점점 글이 짧아지는 느낌이지만....쓸 내용이 없는걸..

다음 포스팅은 .txt로 저장한 위의 학식 정보를 message와 연동시키고, crontab을 이용하여 매일 실행하여

저장하는 방법을 올리겠다

그럼 이만 총총



반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기