IT 개발/Python

[파이썬] 네이버 OpenAPI 사용방법 (통합 검색어 트렌드 api)

KADOSHOLY 2024. 1. 15. 09:20
반응형

 

파이썬 - 네이버 OpenAPI 사용방법 (통합 검색어 트렌드 api)

 

 

   목차

  1. 통합 검색어 트렌드 api 란?
  2. 통합 검색어 트렌드 api 사용방법
  3. 통합 검색어 트렌드 api 사용예제

 

 

1. 통합 검색어 트렌드 api 란?

 

네이버 통합 검색어 트렌드 api는 네이버 홈페이지의 통합검색 창에서 사용자들이 정보검색을 위해 입력한 검색어 대한 추이를 json 형식으로 반환해주는 api입니다. 

 

 

 

2. 통합 검색어 트렌드 api 사용방법

 

1) 키 발급

 

통합 검색어 트렌드 api를 비롯하여 네이버에서 제공되는 모든 open api 들을 사용하기 위해서는 먼저 아래의 Naver Developers 사이트에서 Client ID와 Client Secret 키를 발급받아야 합니다. 

  • 위치 : Products > 서비스API - 데이터랩

https://developers.naver.com/main/

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

 

2) 문서 확인

 

통합 검색어 트렌드 api 사용방법은 데이터랩 문서에 사용예제와 함께 상세히 설명되어 있습니다. 

  • 위치 : Documents > 서비스API - 데이터랩

 

 

 

3. 통합 검색어 트렌드 api 사용예제

 

1) urllib.request 사용 (네이버 구현예제)

import requests, json, urllib.request

CLIENT_ID = "네이버 client_id 입력"
CLIENT_SECRET = "네이버 client_secret 입력"

url = "https://openapi.naver.com/v1/datalab/search"
params = "{\"startDate\":\"2023-01-01\", \
           \"endDate\":\"2023-12-31\", \
           \"timeUnit\":\"month\", \
           \"keywordGroups\":[ \
               {\"groupName\":\"파이썬\",\"keywords\":[\"파이썬\",\"python\"]}, \
               {\"groupName\":\"자바\",\"keywords\":[\"자바\",\"java\"]}]}";

request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",CLIENT_ID)
request.add_header("X-Naver-Client-Secret",CLIENT_SECRET)
request.add_header("Content-Type","application/json")

response = urllib.request.urlopen(request, data=params.encode("utf-8"))

rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)

 

 

2)  request 사용 

import requests, json, urllib.request

CLIENT_ID = "네이버 client_id 입력"
CLIENT_SECRET = "네이버 client_secret 입력"


url = "https://openapi.naver.com/v1/datalab/search"
params = {
    "startDate": "2023-01-01",
    "endDate": "2023-12-31",
    "timeUnit": "month", 
    "keywordGroups": [
        {"groupName": "파이썬", "keywords": ["파이썬", "python"]},
        {"groupName": "자바", "keywords": ["자바", "java"]}]}
    
headers = { "X-Naver-Client-Id": CLIENT_ID,
            "X-Naver-Client-Secret" : CLIENT_SECRET,
            "Content-Type" : "application/json"}
            
response = requests.post(url, data=json.dumps(params), headers=headers)
response.json()

 

 

[실행결과 1]

{"startDate":"2023-01-01","endDate":"2023-12-31","timeUnit":"month","results":[{"title":"파이썬","keywords":["파이썬","python"],"data":[{"period":"2023-01-01","ratio":55.43679},{"period":"2023-02-01","ratio":55.96001},{"period":"2023-03-01","ratio":100},{"period":"2023-04-01","ratio":67.99194},{"period":"2023-05-01","ratio":63.12099},{"period":"2023-06-01","ratio":63.36182},{"period":"2023-07-01","ratio":54.84857},{"period":"2023-08-01","ratio":52.90488},{"period":"2023-09-01","ratio":60.58587},{"period":"2023-10-01","ratio":53.90869},{"period":"2023-11-01","ratio":54.31683},{"period":"2023-12-01","ratio":50.72888}]},{"title":"자바","keywords":["자바","java"],"data":[{"period":"2023-01-01","ratio":44.64205},{"period":"2023-02-01","ratio":39.07738},{"period":"2023-03-01","ratio":36.73728},{"period":"2023-04-01","ratio":43.01059},{"period":"2023-05-01","ratio":37.1209},{"period":"2023-06-01","ratio":28.29117},{"period":"2023-07-01","ratio":27.76049},{"period":"2023-08-01","ratio":26.09705},{"period":"2023-09-01","ratio":25.31169},{"period":"2023-10-01","ratio":28.24428},{"period":"2023-11-01","ratio":26.78544},{"period":"2023-12-01","ratio":29.2044}]}]}

 

[실행결과 2]

{'startDate': '2023-01-01',
 'endDate': '2023-12-31',
 'timeUnit': 'month',
 'results': [{'title': '파이썬',
   'keywords': ['파이썬', 'python'],
   'data': [{'period': '2023-01-01', 'ratio': 55.43679},
    {'period': '2023-02-01', 'ratio': 55.96001},
    {'period': '2023-03-01', 'ratio': 100},
    {'period': '2023-04-01', 'ratio': 67.99194},
    {'period': '2023-05-01', 'ratio': 63.12099},
    {'period': '2023-06-01', 'ratio': 63.36182},
    {'period': '2023-07-01', 'ratio': 54.84857},
    {'period': '2023-08-01', 'ratio': 52.90488},
    {'period': '2023-09-01', 'ratio': 60.58587},
    {'period': '2023-10-01', 'ratio': 53.90869},
    {'period': '2023-11-01', 'ratio': 54.31683},
    {'period': '2023-12-01', 'ratio': 50.72888}]},
  {'title': '자바',
   'keywords': ['자바', 'java'],
   'data': [{'period': '2023-01-01', 'ratio': 44.64205},
    {'period': '2023-02-01', 'ratio': 39.07738},
    {'period': '2023-03-01', 'ratio': 36.73728},
    {'period': '2023-04-01', 'ratio': 43.01059},
    {'period': '2023-05-01', 'ratio': 37.1209},
    {'period': '2023-06-01', 'ratio': 28.29117},
    {'period': '2023-07-01', 'ratio': 27.76049},
    {'period': '2023-08-01', 'ratio': 26.09705},
    {'period': '2023-09-01', 'ratio': 25.31169},
    {'period': '2023-10-01', 'ratio': 28.24428},
    {'period': '2023-11-01', 'ratio': 26.78544},
    {'period': '2023-12-01', 'ratio': 29.2044}]}]} 

반응형