본문으로 바로가기

Naver 검색 API 사용하기

category Theory/DataScience 2018.06.18 08:00

최근 재미있었던 Naver 얼굴인식 API 사용해보기를 했는데요. 그 여세를 몰아 카카오 얼굴인식 API도 사용해 봤습니다.^^ 이번에는 네이버의 검색 API를 사용해 보도록 하겠습니다.

위의 네이버 개발자 페이지로 갑니다. 아.. 클로바 음성 인식 합성 API도 한 번 사용해 봐야할텐데요^^

거기서... 애플리케이션 등록을 해주면 됩니다.^^ 그리고 발급되는 위 그림의 ID와 Secret을 받아둡니다.

살짤 서비스 API의 검색을 매뉴로 가서.. 위 그림에서 API 이용 신청을 해도 아까의 ID와 secret을 받을 수 있습니다. 그리고 개발 가이드 보기로 갑니다.

대표적인 언어로 예제를 준비해 주었기 때문에 큰 어려움없이 접근할 수 있습니다. 저야 뭐.. Python이죠^^

블로그 검색 결과를 얻고싶어서 클릭해서 가보면 기본 정보에서 url 주소가 보입니다. 저기에 blog라는 단어가 있죠~ 그게 바뀌면 됩니다. 뉴스는 news^^

이렇게 말이죠^^

그리고 어떤 검색이든 query변수는 필수입니다. 나머지는 위 그림처럼 던지면 끝~

받아오는 변수들은 많네요~^^ 이제 제공된 예제를 이용해서 접근 코드를 가볍게 짜보겠습니다.

import urllib
def make_naver_search_api_url(node, search_text, start_num, disp_num):
    base_url = 'https://openapi.naver.com/v1/search/' + node + '.json'
    param_query = "?query=" + urllib.parse.quote(search_text)
    param_start = "&start=" + str(start_num)
    param_disp = "&display=" + str(disp_num)
    
    return base_url + param_query + param_start + param_disp

먼저 url을 만드는 함수입니다. news, blog 등등 카테고리를 node로~, 검색어를 search_text로, 시작점과 한 번 디스플레이하는 양을 변수로 받아서 url을 만드는 함수를 하나 만들어 두겠습니다.

import urllib.request
def get_request_url(API_url, client_id, client_secret):
    request = urllib.request.Request(API_url)
    request.add_header("X-Naver-Client-Id", client_id)
    request.add_header("X-Naver-Client-Secret", client_secret)
    
    response = urllib.request.urlopen(request)
    if response.getcode() == 200:
        return response.read().decode('utf-8')
    else:
        return None
        print("--- error ---")

그리고 네이버가 제공하는 예제를 그대로 이용해서, 만들어진 url과 등록해서 받은 id와 secret을 이용해서 정보를 받아오는 함수도 만들었습니다.

api_url = make_naver_search_api_url('news', '경남도지사', 1, 10)
print(get_request_url(api_url, client_id, client_secret))

시험삼아~ 뉴스 검색으로 경남도지사를 검색했습니다.

뭐 당연히~^^

api_url = make_naver_search_api_url('blog', '경남도지사', 1, 10)
print(get_request_url(api_url, client_id, client_secret))

이번에는 블로그 검색~ 함수로 만들었으니 노드 이름만 blog로 변경하면 됩니다.

이렇게 나오네요. 접근 주소를 보면 블로그가 분명한데 결과는 신문 기사였군요. 뭐 그것도 블로그에 있으면 블로그로 검색을 하겠죠...

저는 사실.. 정치에 큰 관심이 없었는데, 노무현 전 대통령님의 영결식에서 백원우 현 청와대 수석이 당시에 이명박씨에게 소리지르다가 경호원에게 끌려간 직후,

출처 : 해럴드 경제

고개 숙여 사과하는 문재인 대통령님의 모습을 보며 저 문재인이라는 사람... 큰 사람이고 멋진 사람이구나.. 하는 생각을 했었습니다.

그리고 그 때가 제가 정치 관련 기사를 읽어볼 마음이 처음 들었던 시기였습니다. 

인상적인 순간이 아니라 인상적인 인물을 꼽으라면 단연 문재인이다. 서거를 공식발표하는 최초의 순간부터 백원우 돌발사건으로 이명박에게 고개를 숙이며 양해를 구하는 순간까지, 단 한 순간도 흐트러짐이 없었으며 단 한 번도 경우에 어긋남이 없었다. 참으로 대단하다. 고인이 "노무현 친구 문재인이 아니라, 문재인의 친구 노무현"이라 했던 이유를 알겠다. 
 - 당시 딴지일보 총수 김어준 -

그리고 그 후 문재인 대통령님만큼 관심을 가지게 된 사람이 김경수 당선인입니다.

출처 : 노무현 재단

노무현 대통령의 마지막 비서관, 경남 출생, 서울대 인류학 학사(^^), 그리고 노무현 전 대통령님을 따라 김해 봉하마을로 내려가 버린 사람... 그리고, 김해을 국회의원 탈락, 경남 도지사 탈락, 후에... 김해을 국회의원, 그리고 다시 이번에 경남도지사가 되었네요. 그런데.. 그 때 떨어졌던 김해을에서 상대 후보가 김태호입니다. 그리고 또 그 후 떨어진 경남도지사에서 도지사가 된 사람이 홍준표이죠. 즉, 김경수 당선인은 김태호와 붙어 지고, 홍준표와 붙어 진 경험을 가지고 있습니다. 그런데, 이번에 김경수 당선인에게 고배를 마신 사람은 홍준표가 전략 공천한 김태호입니다. (^^ 뭐 그렇다구요 ^^) 그 때 제가 느꼈던 큰 사람 문재인 대통령님 만큼... 왠지 이 사람 김경수 도지사도 보다 더 큰 사람이 되기를, 더 멋진 사람이 되기를 슬쩍 응원해 봅니다.^^.


댓글을 달아 주세요

  1. BlogIcon 스티마 2018.06.18 09:25 신고

    네이버 API이야기 이야기 하시다가 총선으로 방향을 전환 하셨네요.
    이런경우 삼천포로 빠져다고 하던데... 삼천포도 경남 아닌가 싶네요. ^^;

  2. BlogIcon 공수래공수거 2018.06.18 09:53 신고

    김경수,문재인,노무현 세분의 샷이
    언젠가는 큰 화제가 될것입니다^^

  3. BlogIcon 휴식같은 친구 2018.06.18 11:17 신고

    네이버에 이런 개발자페이지가 있군요.
    잘 보고 갑니다.

  4. BlogIcon 핑구야 날자 2018.06.19 06:15 신고

    검색 API를 활용하면 여러 가지로 많은 것들을 없배우겠는데요

    • BlogIcon PinkWink 2018.06.19 10:46 신고

      쉽게 해보고 싶은 것을 접근할 수 있는 것 같아요.. 물론 원리가 궁금하거나 배우시는 분들은 당연히 직접하셔야겠지만... 저처럼 취미삼아 하는 경우는 좋네요^^

  5. BlogIcon 요니피그 2018.06.19 11:41 신고

    저도 그렇네요 김경수의원이 좀더 큰사람이 되길 살짝 바래봅니다

  6. BlogIcon Bliss :) 2018.06.20 06:38 신고

    와우~ 네이버 API 검색툴 사용하신 거네요. 저 보기만 했지 사용해본적이 없어 신기합니다^^ 그나저나 화제의 샷샷샷으로 급방향 전환하셨!ㅋㅋ 문장마다 깨알 공감을 했습니다. 저 역시 김경수 당선인이 앞으로 큰 인물이 되어주길 기대하고 있네요. 하지만 큰 미래를 위해서라도 여당 야당 가리지 말고 드루킹, 매크로 관련 특검 가주는 것도 찬성입니다. 해피 하루 되세요^^

  7. BlogIcon 북두협객 2018.06.20 07:04 신고

    노무현 대통령님이 친서민 정책을 하셨던 분인데 많이 그립습니다~

  8. BlogIcon kangdante 2018.06.20 07:22 신고

    잘 보고 갑니다
    오늘도 멋진 하루되세요.. ^^