챗봇 만들기 - BOXOFFICE TOP 10

이동근·2021년 4월 6일
0

Project

목록 보기
16/20

초기세팅과, 페이스북, db연결 까지 모두 끝냈으니 이제 실제로 구현이 되는 로직을 짜기 시작했다.

영화 순위를 입력하게 되면 현재 극장에서 인기가 있는 TOP10을 가져오기 위해 영화진흥 위원회 API를 가져와서 사용을 했다.

영화진흥위원회

여러 API들을 제공하고 있는 사이트로서 우리는 REST 방식으로 데이터를 가져올 예정이다.

코드

우선 BOXOFFICE TOP10을 단순히 가져올 코드이기 때문에 service의 위치에 만들어 movie_serivce.py 이름을 가진 파일을 먼저 만들어 주었다.

완성된 코드

Boxoffice라는 class를 우선 만들어 주었고 init을 선언을 해주었다.

영화데이터를 가져오기 위한 get_movies 함수를 만들어 주었다.

  • targetDt : 가져오기위한 날짜를 입력을 해주는 장소이다. 날짜의 형태가 20121224이렇게 하는 방식이라서 'strftime'을 사용해서 날짜 형태를 만들어 주었다.

그리고 데이터를 가져올 url을 만들어 주었다.

기본 요청 URL : http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json

추가되는 파라미터
1. 오픈api를 사용하기 위한 key값
2. 보고싶은 날짜 targetDt

?key={apikey}&atrgetDt={보고싶은 날짜}

이런식으로 url을 만들어 주고

requests로 url을 처리해줘도 되지만 urllib의 처리를 모아둔 모듈 urllib를 사용해서 읽어주었다.

상당한양의 데이터가 들어오지만 정제를 위해 간편화를 시킬 수 있는 simplify 함수를 만들어 주었다.

여기서 for 문을 돌려서 'name' 값만 꺼내서 만들어 주게 되면 영화 TOP10을 추출하는 로직이 완성이 된다.

profile
하루하루 1cm 자라는 개발자

0개의 댓글