본문 바로가기
Python

[파이썬] 영화진흥위원회 영화 정보 DB API 사용 방법

by 퍼포먼스마케팅코더 2022. 8. 12.
반응형

이것도 공공 데이터 포털에서 가져온 것입니다. 영화진흥위원회라고 거기서 영화정보를 주는데요. 이것도 이건 볼만한 데이터가 많은 것 같아요. 나름 제보가 많구나 싶어서 저도 받으면서 깜짝 놀랐거든요. 이것은 괜찮습니다. 이거 재밌을 것 같다는 데이터가 많았어요. 

파이썬 영화진흥위원회 영화 정보 API 사용 방법

우선 이것도 api에서 파이톤으로 사용하기 위해서는 인증키를 발급해 주세요. 인증키 발급이 간단합니다. 거의 자동발급 수준이라고 생각하세요. 할 수 있습니다. 연결만 하면 어차피 데이터가 다 나오기 때문에 그렇게 큰 오류가 있거나 할 일도 없었고 가능하면 정상적으로 접속되는 그런 일이 있었습니다. 인증키를 아래 사이트가 있으니 거기서 받아주세요.정보가 많은데 제일 먼저 설명해드릴게요.

 

http://kobis.or.kr/kobisopenapi/homepg/main/main.do

 

영화진흥위원회 오픈API

OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요.

kobis.or.kr

 

처음에는 위에 사이트에서 발행키를 받은 것을 넣고 날짜를 넣으면 일간 박스 오피스 관객 수 정보가 나옵니다. 재밌는 것들이 많아요. 요즘 여러분이 보시면 인기 있는 영화가 무엇인지, 요즘 인기있는 영화가 무엇인지 이런 것들을 확인하는 용도로는 굉장히 좋은 정보가 아닐까 싶습니다. 일간 박스 오피스에 대한 영화 통계 정보, 이건 이 코딩을 사용하면 될 것 같습니다.  

 

import requests
import pandas as pd

#API 설명서
#http://www.kobis.or.kr/kobisopenapi/homepg/apiservice/searchServiceInfo.do

#일간 박스오피스

key = '' #발급키
targetDt = '20220810'

url = 'http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key={}&targetDt={}'.format(key, targetDt)

response = requests.get(url)
r_data =	 response.json()
dailyBoxOfficeList = pd.DataFrame(r_data['boxOfficeResult']['dailyBoxOfficeList'])  
#dailyBoxOfficeList

 

두 번째는 주간입니다. 주간 주말에 이 박스오피스 통계 현황입니다. 코드 하나가 추가되었지만, 주말 낮 또는 주 중 통계가 어떻게 흘러가는지 이를 확인하는 용도로 사용하시면 될 것 같습니다.

 

import requests
import pandas as pd

#주간/주말 박스오피스 API 서비스

key = '' #발급키
targetDt = '20220802'
weekGb = 1
#“0” : 주간 (월~일) #“1” : 주말 (금~일) (default) #“2” : 주중 (월~목)

url = 'http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchWeeklyBoxOfficeList.json?key={}&targetDt={}&weekGb={}'.format(key, targetDt, weekGb)

response = requests.get(url)
r_data = response.json()
weeklyBoxOfficeList = pd.DataFrame(r_data['boxOfficeResult']['weeklyBoxOfficeList'])  
#weeklyBoxOfficeList

세번째는 영화 리스트에 관련된 조회예요. api가 나옵니다만 보면 네이버에서 영화의 제목을 받지 않나요 그러면 그거 관련해서는 정보가 나온다고 보면 돼요. 단순하게 된 것에 창고의 상황부터 해야 하다니 그 다음으로 상세하고 있는 정보의 조회를 보시면 위에 걸고 있는 네이버에서 검색하면 나오는 정보 없나요 예를 들어 영화 제목 다음에 영화가 언제 발매했는지 그 다음 영화가 장편이거나 공개 사랑인지, 아니면 지금 현재 공개된 영화나 영화가 한국에서 만든 것인지 다음 영화의 장르가 어느 정도인지 그 다음 영화 감독이 누군가 기타 등등 관련되어 온 내용이 모두 여기에 포함되고 나오겠다고 생각될 것 같습니다.

import requests
import pandas as pd

#영화목록 조회 API 서비스

key = '' #발급키

url ='http://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.json?key={}'.format(key)

response = requests.get(url)
r_data = response.json()
movieList = pd.DataFrame(r_data['movieListResult']['movieList'])
movieList

그다음에 거기에 대한 세부 정보를 넣으면 굉장히 많이 나옵니다. 정말 배우부터고 회사 감독 그다음에 거기 일했던 영화에서 일했던 스태프들의 관련된 내용까지 나오더라고요. 다 참조를 해주시면 될 것 같아요. 

 

import requests
import pandas as pd

#영화상세정보 조회 API

key = '' #발급키
movieCd= '20196410'

url = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.json?key={}&movieCd={}'.format(key, movieCd)

response = requests.get(url)
r_data = response.json()
movieInfoResult = pd.DataFrame(r_data['movieInfoResult'])
movieInfoResult_actor = pd.DataFrame(r_data['movieInfoResult']['movieInfo']['actors']) #배우
movieInfoResult_companys = pd.DataFrame(r_data['movieInfoResult']['movieInfo']['companys']) #회사
movieInfoResult_directors = pd.DataFrame(r_data['movieInfoResult']['movieInfo']['directors']) #감독
movieInfoResult_staffs = pd.DataFrame(r_data['movieInfoResult']['movieInfo']['staffs']) #스태프

#movieInfoResult_actors = pd.DataFrame(r_data['movieInfoResult']['actors'])

 

그다음에 이 밑에 거는 영화였던 목록 조회 api인데, 에 제 주변 중에 친분이 있는 분이 강동원을 좋아하고 제가 강동원 관련해서도 영화 목록을 한번 조회를 받긴 그래서 가졌지만 동명인 분들이 많습니다. 강동원이 강동원이 없어요 강동원 중에서도 세트팀이 있어요, 조명팀이 있고 배우만 있는 게 아니라 감독님도 있어요. 그다음에 어떤 프로듀서 중에서도 강동원이 있어요. 제대로 된 영화배우 강동을 찾으려는 게 아이를 먹을 수 있었어요. 그런데 코드가 구분되어 있기 때문에 선생님 찾기는 쉬울 것 같습니다. 아무래도 그리고 예를 들면 이제 강동원이라는 사람을 조회를 하면 사람 코드가 있습니다. 피플 코드로 되어 있는 것 같은데 피플 코드를 치면 이 배우가 어디에 어떤 영화를 상영했는지 그에 대한 정보가 다 나오더라구요 다 나와요. 그래서 그것도 참고를 해주시면 될 것 같아요.

import requests
import pandas as pd

#영화인목록 조회 API

key = '' #발급키	
peopleNm = '강동원'

url = 'http://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.json?key={}&peopleNm={}'.format(key, peopleNm)

response = requests.get(url)
r_data = response.json()
peopleListResult = pd.DataFrame(r_data['peopleListResult']['peopleList'])
peopleListResult
import requests
import pandas as pd

#영화인목록 조회 상세 API

key = '' #발급키
peopleCd ='10000558'

url = 'http://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleInfo.json?key={}&peopleCd={}'.format(key, peopleCd)
response = requests.get(url)
r_data = response.json()

peopleInfoResult = pd.DataFrame(r_data['peopleInfoResult']) #사람
peopleInfo_filmos = pd.DataFrame(r_data['peopleInfoResult']['peopleInfo']['filmos']) #영화

 

반응형

댓글