https://kobis.or.kr/kobisopenapi/homepg/main/main.do
영화진흥위원회 오픈API
OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요.
kobis.or.kr
▷ 영화진흥위원회(이하 영진위)의 오픈 API를 사용하여 데이터 가져오기!
▷ 영진위 OPEN API 사용하기!
1. https://kobis.or.kr/kobisopenapi/homepg/main/main.do로 접속하기(영진위 OPEN API 홈페이지)
2. 회원가입
3. 키발급/관리
4. 키발급받기
5. 사용목적 : 학습용 / 관리명 : 개인 / 사용 URL : 내 IP 주소
(ip 주소는 cmd(명령 프롬프트) 창에서 ipconfig 치면 나옵니다^^)
6. 제공 서비스에 가면 이런식으로 서비스종류가 있는 필요한 서비스 클릭
7. 페이지 가장 밑에 XML과 JSON 이 있다 우리는 JSON 이 필요하니 밑에꺼 복사!
8. 자세히 보면 맨 마지막에 날짜가 있다 오늘을 기준으로 2022년3월11일 박스오피스를 검색해보자
9. 주소창에 입력하면 이러한 데이터를 확인할 수 있다! 이 데이터 중 필요한 정보만 가져와보겠다(파싱)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
$(function(){
$('#btnOk').on('click',function() {
$.ajax({
type: "get",
url: "https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=e7340032dd56a5699df512d551a3f5c8&targetDt=20220311",
dataType: "json",
})
.done(function (data) {
$('#resultArea').html('<table border="1">'
+ '<th width="100">현재순위(rank)</th><th width="400">영화명(movieNm)</th><th width="150">개봉일(openDt)</th><th width="100">누적관객수(audiAcc)</th>'
+ '</table>');
// 1. 전체 조회 결과에 해당하는 "bosOfficeResult" 추출
// => 최상위 객체의 키이므로 data 변수를 통해 바로 접근
var boxOfficeResult = data.boxOfficeResult;
// 2. "boxOfficeResult" 내의 "boxOfficeType", "showRange" 추출
var boxofficeType = boxOfficeResult.boxofficeType;
var showRange = boxOfficeResult.showRange;
$('#resultArea').prepend(boxofficeType+' | '+showRange); // boxofficeType + 날짜 출력
// 3. "boxOfficeResult" 내의 박스오피스 영화 목록 ("dailyBoxOfficeList") 객체 추출
var dailyBoxOfficeList = boxOfficeResult.dailyBoxOfficeList;
// 4. "dailyBoxOfficeList" 내의 각 영화 정보 객체를 추출 => 배열 내에 각 객체가 저장되어 있음
var dailyBoxOffice = dailyBoxOfficeList[0]; // rank, movieNm, openDt, audiAcc 만 추출해보자!
for(dailyBoxOffice of dailyBoxOfficeList){
$('#resultArea > table').append(
'<tr>'
+ '<td>' + dailyBoxOffice.rank + '</td>'
+ '<td>' + dailyBoxOffice.movieNm + '</td>'
+ '<td>' + dailyBoxOffice.openDt + '</td>'
+ '<td>' + dailyBoxOffice.audiAcc + '</td>'
+ '</tr>'
)
}
})
.fail(function() {
$('#resultArea').html('<h4>JSON 요청실패!</h4>');
});
});
});
</script>
</head>
<body>
<h1>clone_test7_json.jsp</h1>
<input type="button" value="JSON 파싱" id="btnOk">
<div id="resultArea"></div>
</body>
</html>
후.. 역시 한번에 성공하진 못했지만 오류 다 잡아내고 성공!
출력 결과
이상한 나라의 수학자?? 엘리스 짝퉁인가ㅎ
'JSP' 카테고리의 다른 글
JSON - 왜 안될까?(일별 박스오피스 -> 영화 상세보기 -> 배우 상세보기) (0) | 2022.03.12 |
---|---|
JSON (4) - 영화 상세정보 처리[영화진흥위원회 오픈API] (0) | 2022.03.12 |
JSON (2) - .txt 파일 데이터 가져오기 (0) | 2022.03.12 |
JSON (1) - 기본 사용법 (0) | 2022.03.12 |
AJAX (4) - blur 이벤트 처리 (0) | 2022.03.09 |