[파이썬] 네이버 OpenAPI 사용방법 (통합 검색어 트렌드 api)
파이썬 - 네이버 OpenAPI 사용방법 (통합 검색어 트렌드 api)
목차
- 통합 검색어 트렌드 api 란?
- 통합 검색어 트렌드 api 사용방법
- 통합 검색어 트렌드 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/
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}]}]}