1. 영화진흥위원회 사이트에 들어가서 회원가입을 한다.
영화진흥위원회: https://www.kobis.or.kr/kobisopenapi/homepg/main/main.do
2. 키 발급/관리로 들어가서 키를 발급받는다.
키 발급받기를 눌러줍니다.
사용 목적과 관리명만 적으면 되는데, 사용 목적은 공부용 정도로 적어두셔도 괜찮고 관리명은 원하는대로 적어주시면 됩니다.
3. 키 발급/관리에서 발급키를 확인한다.
4. OPEN API에서 제공서비스를 누르고 원하는 정보의 페이지로 이동한다.
* 일별 박스오피스로 실습을 해보겠습니다.
5. 아래로 내려서 응답 예시를 확인하고 예시를 긁어서 웹사이트에서 열어본다.
JSON 응답 예시를 활용하겠습니다.
잘 보시면 두번째 줄에 key와 targetDt가 있는 모습을 볼 수 있습니다.
key와 targetDt는 요청 인터페이스에서 확인할 수 있습니다. 원하는대로 사용하시면 됩니다.
ex) 영화를 5개만 띄우고 싶다면 &itemPerPage=5을 추가합니다.
*20210510일자 일별 박스오피스 and 5개만 출력하도록 지정한 것
http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=f5eef3421c602c6cb7ea224104795888&targetDt=20210510&itemPerPage=5
-결과 모습-
6. 파이썬으로 크롤링한다.
import requests
import json
url = 'http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=f5eef3421c602c6cb7ea224104795888&targetDt=20210511'
res = requests.get(url)
text= res.text
d = json.loads(text)
print(d)
혹시 requests, json 모듈이 설치되어있지 않다면 이 글을 확인하시기 바랍니다.
https://fjdkslvn.tistory.com/28
웹페이지에서 봤던 결과를 파이썬으로 확인할 수 있습니다.
boxOfficeResult 안에 dailyBoxOfficeList가 있는것을 확인할 수 있고, 각각의 dailyBoxOfficeList들이 영화 한편씩을 의미하는 것을 볼 수 있습니다.
7. 이것을 활용하여 원하는 정보만 csv 형식으로 뽑아낸다.
응답 구조에 있는 변수들을 잘 활용하여 코드를 작성하면 됩니다.
import requests
import json
import pandas as pd
url = 'http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=6e927f984e0745787469e2452351991a&targetDt=20210511'
res = requests.get(url)
text= res.text
d = json.loads(text)
movie_list = []
for b in d['boxOfficeResult']['dailyBoxOfficeList']:
movie_list.append([b['rank'],b['movieNm'],b['audiCnt']])
data = pd.DataFrame(movie_list)
data.to_csv("movie_list.txt", mode='w', encoding='utf-8', index=False)
boxOfficeResult 안에 dailyBoxOfficeList의 영화 정보에서 원하는 값을 뽑아서 movie_list 배열에 append로 추가하는 것 입니다.
현재 입력값은 rank(영화 등수), movieNm(영화이름 국문), audiCnt(관객 수) 입니다.
**Python 복수변수 입력시 x.append([a,b,c]) 형태로 작성해야함**
- csv 도출 결과 -
'OpenAPI' 카테고리의 다른 글
[카카오지도 API] 좌표로 주소 추출 (0) | 2021.12.09 |
---|---|
[카카오지도 API] kakao is not defined 오류 (0) | 2021.12.08 |
[카카오지도 API] spring / 주소로 장소 표시하기 (0) | 2021.11.20 |
카카오 지도 API 사용을 위한 키 발급 받기 (0) | 2021.11.20 |
영화진흥위원회 일별박스오피스 API 원하는 기간 csv로 추출 (0) | 2021.07.09 |