1. 연예인 사진 모으기 프로젝트
카카오에서 제공하는 이미지 검색 OpenAPI를 사용해 보자.
크롤링은 웹 구조 알아야 한다는 부담감이 존재하나, OpenAPI 사용하면 부담이 없음.
OpenAPI로 좋아하는 연예인 사진 모으기
2.2 사전 준비
- 카카오 개발자 사이트 가입
- 애플리케이션을 만들어 앱 키 발급 받음
인증 코드, 사용자 토큰 발급을 받아 카카오톡 메시지 API의 사용 권한을 받는다.
애플리케이션 추가 완료
REST API 키를 사용할 예정.
[알아두면 좋은 사전 지식]OpenAPI 문서 보는 방법
- 프론트엔드
- 백엔드
- 프론트엔드와 백엔드의 인터페이스
프론트엔드: 화면 구성 처리
백엔드: 화면에 보여줄 정보를 (뒤에서) 처리함.
프론트엔드가 백엔드에 요청할 때는 특정 규칙에 맞춰 요청함. 그리고 그에 맞게 동작하는 API가 있음. OpenAPI는 제공처에서 백엔드를 만들어 놓고, 그 백엔드를 이용하는 방법을 제공함.
→ OpenAPI 사용자는 백엔드 주소와 사용 규칙만 알면, 백엔드 자원 사용 가능!
프론트엔드만 개발하면 된다!!
API 가이드는 다음과 같다. 요청은 어디로, 어떻게 요청해야 하는지 기술되어 있고, 응답은 어떤 결과가 전달되는지 기술되어 있다.
응답 코드 중 요청에 대한 상태를 나타내는 오류는 두 가지가 있음.
- HTTP 상태 코드: HTTP 프로토콜을 사용하면 공통 적용되는 응답 코드
- 오류 코드: OpenAPI를 제공하는 제공사마다 다름
구현하기
- Step 1: 카카오 이미지 검색 OpenAPI 호출하기
- Step 2: 이미지 파일 저장하기
- Step 3: 전체 코드 완성하기
카카오 이미지 검색 OpenAPI 호출하기
이미지가 있는 URL 출력하기
REST API | Kakao Developers 문서
→ 카카오 이미지 검색 OpenAPI의 Request, Response 가이드.
필요한 라이브러리를 import 한 후,
카카오 이미지 검색 OpenAPI에 해당하는 request url를 작성함.
다음은 요청을 위한 필수 파라미터를 구성하고, 이미지 검색을 요청한 뒤
이미지 검색에 성공했다면 response로 전달 받은 값 중 image_url을 출력한다.
이미지 파일 저장
이미지를 저장하는 함수를 정의하고, input 파라미터는 이미지가 담긴 url 주소인 image_url, 이미지를 저장할 파일명 file_name임. 이미지가 있는 주소로 요청 후 성공했다면 결과로 전달된 이미지 바이너리 값을 파일로 저장함.
전체 코드 완성하기
step 1,2 코드를 합쳐 전체 코드 완성.
결과는 다음과 같다.
쿼리를 수정해 더 다양한 사진을 수집할 수 있다.
이미지 출처: 김효실, 파이썬 생활밀착형 프로젝트, 로드북, 2021
위 도서를 통해 공부한 내용을 정리함.
'파이썬 & AI' 카테고리의 다른 글
7.11(목) - OpenAPI(2) (1) | 2024.07.14 |
---|