일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Web
- springboot
- java
- 디지몬
- C로 시작하는 컴퓨터 프로그래밍4판
- javascript
- html
- DART
- 건담베이스
- Python
- 비즈니스일본어
- 반다이몰
- 연습문제
- 인프런
- 日本語
- jsp
- vscode
- メソッド
- 일본어
- ruby
- Flutter
- 건담
- nico
- 単語
- rails7
- CSS
- rails
- Spring
- 자바
- 一日一つメソッド
- Today
- Total
AR삽질러
카카오 API를 이용한 이미지 검색 및 저장 본문
카카오 API를 이용한 이미지 검색 및 저장
1. 카카오 개발자 사이트접속
2. 상단 [문서]를 클릭하며 [검색 API가이드]의 [Daum검색]을 선택
3. [Daum 검색] - [이해하기] 를 선택하면 다음검색 API에 대해 다양한 기능을 설명한다. Daum검색 API는 포털 사이트 Daum에서 방대한 웹 문서, 동영상, 이미지, 블로그, 책, 카페를 검색하는 기능을 제공하며 검색 결과는 JSON객체로 전달되어 서비스에서 자유롭게 출력하거나 활용할 수 있다.
4. [문서] -> [Daum 검색] -> [REST API]를 통해 다음 검색 API구현 방법을 배울 수 있다. 이 중 [REST API 테스트 도구] 버튼을 통해서 미리 사용해 볼 수도 있다.
5. 스크롤밑 [이미지 검색] 에 대한 정보들인 기본정보, Request의 Parameter, Response의 meta와 documents, 샘플을 볼 수 있다.
VSCode Python을 활용하여 이미지 검색
1) 카카오 개발자 센터에서 Daum검색 이미지 API 키를 발급 받아 인증과정에 사용한다.
import requests
import json
def save(fileName, img_url):
reslmg = requests.get(img_url)
print(img_url)
if reslmg.status_code == 200:
with open('C:/myPythonProject/Temp/%s.jpg' % fileName, 'wb') as fp:
fp.write(reslmg.content)
searchWord = input('검색할 이미지를 입력 : ')
url = "https://dapi.kakao.com/v2/search/image"
headers = {"Authorization": "KakaoAK 여러분의 RESTAPI키 값을 입력해주세요"}
data = {"query" : searchWord}
response = requests.get(url, headers=headers, data=data)
if response.status_code == 200:
#print(response.content)
count = 0
for image in response.json()['documents']:
img_url = image['image_url']
count = count + 1
save(searchWord + str(count), img_url)
1) save 함수
- 다운로드할 저장할 파일이름과 이미지의 URL을 인자로 받는다.
- Python의 requests 라이브러리를 사용해 이미지 데이터를 다운로드하고 reslmg를 로컬 경로에 저장한다.
2) 검색어 입력
- 사용자로 부터 검색할 이미지의 키워드를 입력 받는다.
3) API요청
- 카카오 개발자 샌터의 이미지 검색 API 엔드포인트와 필요한 헤더를 설정한다.
4) API 요청 및 응답 처리
- request.get 을 이용해 API검색어를 담아 요청을 보내고 응답을 받는다.
- 응답이 성공하면 URL을 추출한다.
5) 이미지 저장
- 추출된 각 이미지 URL에 대해 save함수를 호출하여 이미지를 로컬 시스템에 저장한다.
'Python' 카테고리의 다른 글
Python - 시각화(Visualization) (1) | 2023.12.05 |
---|---|
네이버API를 이용한 뉴스 검색 및 저장 - 데이터 수집 (2) | 2023.12.04 |
공공 데이터 및 OpenAPI 활용 - 네이버, 카카오, 공공데이터 (2) | 2023.12.04 |
Python 람다(lambda) - 예제 (0) | 2023.12.02 |
Python File 연습문제 - 구구단 출력 결과를 File에 저장 (0) | 2023.10.15 |