본문 바로가기

Python_Crawling/Crawling

다음 이미지 검색하여 자동으로 저장(KaKaO API)

반응형

API Site>

https://developers.kakao.com/

https://developers.kakao.com/docs/restapi/search#%EC%9D%B4%EB%AF%B8%EC%A7%80-%EA%B2%80%EC%83%89


API 사용 값>


다음 이미지에 해당 쿼리문을 날려 검색 후 해당 이미지를 저장하는 방법.

기본이 80개씩 다운로드 된다.


Code>

from Crawler import crawler
import urllib
import json
import datetime as dt

page = map(int, input('검색할 최소페이지 최대페이지의 범위를 입력하세요 : ').split())
page_list = list(page)
page_min = page_list[0]
page_max = page_list[1]

for num in range(page_min, page_max):
params_query = input('이미지를 저장할 키워드를 입력하세요 : ')
params = {'page':num, 'size':'80', 'query':params_query}
query = urllib.parse.urlencode(params)

site_url = "https://dapi.kakao.com/v2/search/image?" + query

result = crawler.get(site_url)

data = json.loads(result)
documents = data['documents']

for idx, item in enumerate(documents):
fname = params_query + '_' + dt.datetime.now().strftime('%y%m%d_') + '%02d.png' % idx
ok = crawler.download(item['image_url'], filename=fname)
print(ok + '(이)가 저장되었습니다.')


O>

검색할 최소페이지 최대페이지를 입력하세요 : 1 2

이미지를 저장할 키워드를 입력하세요 : 설현

설현_190429_00.png(이)가 저장되었습니다.

설현_190429_01.png(이)가 저장되었습니다.

설현_190429_02.png(이)가 저장되었습니다.

설현_190429_03.png(이)가 저장되었습니다.

설현_190429_04.png(이)가 저장되었습니다.

설현_190429_05.png(이)가 저장되었습니다.

설현_190429_06.png(이)가 저장되었습니다.

설현_190429_07.png(이)가 저장되었습니다.

설현_190429_08.png(이)가 저장되었습니다.

설현_190429_09.png(이)가 저장되었습니다.

설현_190429_10.png(이)가 저장되었습니다.

설현_190429_11.png(이)가 저장되었습니다.

설현_190429_12.png(이)가 저장되었습니다.

설현_190429_13.png(이)가 저장되었습니다.

설현_190429_14.png(이)가 저장되었습니다.

설현_190429_15.png(이)가 저장되었습니다.

설현_190429_16.png(이)가 저장되었습니다.

설현_190429_17.png(이)가 저장되었습니다.

설현_190429_18.png(이)가 저장되었습니다.

설현_190429_19.png(이)가 저장되었습니다.

설현_190429_20.png(이)가 저장되었습니다.

설현_190429_21.png(이)가 저장되었습니다.

설현_190429_22.png(이)가 저장되었습니다.

설현_190429_23.png(이)가 저장되었습니다.

설현_190429_24.png(이)가 저장되었습니다.

설현_190429_25.png(이)가 저장되었습니다.

설현_190429_26.png(이)가 저장되었습니다.

설현_190429_27.png(이)가 저장되었습니다.

설현_190429_28.png(이)가 저장되었습니다.

설현_190429_29.png(이)가 저장되었습니다.

설현_190429_30.png(이)가 저장되었습니다.

설현_190429_31.png(이)가 저장되었습니다.

설현_190429_32.png(이)가 저장되었습니다.

설현_190429_33.png(이)가 저장되었습니다.

설현_190429_34.png(이)가 저장되었습니다.

설현_190429_35.png(이)가 저장되었습니다.

설현_190429_36.png(이)가 저장되었습니다.

설현_190429_37.png(이)가 저장되었습니다.

설현_190429_38.png(이)가 저장되었습니다.

설현_190429_39.png(이)가 저장되었습니다.

설현_190429_40.png(이)가 저장되었습니다.

설현_190429_41.png(이)가 저장되었습니다.

설현_190429_42.png(이)가 저장되었습니다.

설현_190429_43.png(이)가 저장되었습니다.

설현_190429_44.png(이)가 저장되었습니다.

설현_190429_45.png(이)가 저장되었습니다.

설현_190429_46.png(이)가 저장되었습니다.

설현_190429_47.png(이)가 저장되었습니다.

설현_190429_48.png(이)가 저장되었습니다.

설현_190429_49.png(이)가 저장되었습니다.

설현_190429_50.png(이)가 저장되었습니다.

설현_190429_51.png(이)가 저장되었습니다.

설현_190429_52.png(이)가 저장되었습니다.

설현_190429_53.png(이)가 저장되었습니다.

설현_190429_54.png(이)가 저장되었습니다.

설현_190429_55.png(이)가 저장되었습니다.

설현_190429_56.png(이)가 저장되었습니다.

설현_190429_57.png(이)가 저장되었습니다.

설현_190429_58.png(이)가 저장되었습니다.

설현_190429_59.png(이)가 저장되었습니다.

설현_190429_60.png(이)가 저장되었습니다.

설현_190429_61.png(이)가 저장되었습니다.

설현_190429_62.png(이)가 저장되었습니다.

설현_190429_63.png(이)가 저장되었습니다.

설현_190429_64.png(이)가 저장되었습니다.

설현_190429_65.png(이)가 저장되었습니다.

설현_190429_66.png(이)가 저장되었습니다.

설현_190429_67.png(이)가 저장되었습니다.

설현_190429_68.png(이)가 저장되었습니다.

설현_190429_69.png(이)가 저장되었습니다.

설현_190429_70.png(이)가 저장되었습니다.

설현_190429_71.png(이)가 저장되었습니다.

설현_190429_72.png(이)가 저장되었습니다.

설현_190429_73.png(이)가 저장되었습니다.

설현_190429_74.png(이)가 저장되었습니다.

설현_190429_75.png(이)가 저장되었습니다.

설현_190429_76.png(이)가 저장되었습니다.

설현_190429_77.png(이)가 저장되었습니다.

설현_190429_78.png(이)가 저장되었습니다.

설현_190429_79.png(이)가 저장되었습니다.


Process finished with exit code 0


F>


KaKaO Open API를 활용하면 많은 정보를 가져올수 있다.

업무에 활용할 수 있는 좋은 방법이다.




반응형