728x90
* Naver Developers 사이트
https://developers.naver.com/main/
1. API 신청
- Naver Developers 홈페이지 - Application - 애플리케이션 등록
- 이름은 임의로 정하고, 사용 API는 데이터랩(검색어트랜드)와 데이터랩(쇼핑인사이트) 두가지를 설정했다
- 환경은 WEB설정으로, URL은 http://localhost로 설정!
- 내 애플리케이션에 'sohyun1'이 생긴걸 볼 수 있다.
- 여기서 생긴 Client ID와 Client Secret을 파이썬 코드에 입력해야한다.
2. Python 코드 작성
- 샘플코드를 바탕으로 코드를 작성했다.
- 먼저, Naver Developers에서 생성한 내 애플리케이션의 ID와 Secret코드를 복사 붙여넣기 했다.
- url은 네이버 데이터랩의 openapi
- body는 내가 검색하고 싶은 정보에 맞춰서 수정했다.
- 기간: 2022-12-01 ~ 2023-01-26
- 키워드: '삼성', 'samsung'
- device = 'pc'
- ages = 그룹 1 ~ 5
- gender: 모든 성별 (설정 안하면 모든 성별)
- 나머지 코드는 손대지 않았다.
- 결과
: 100을 기준으로 일별 검색수 비율이 나왔다
* 전체코드 공유
import pandas as pd
import urllib.request
import json
client_id = "zFriq6PpTlaRn1CeJhvJ"
client_secret = "sY7aqQSn9l"
url = "https://openapi.naver.com/v1/datalab/search"
body = "{\
\"startDate\":\"2022-12-01\",\
\"endDate\":\"2023-01-26\",\
\"timeUnit\":\"date\",\
\"keywordGroups\":[{\"groupName\":\"삼성\",\"keywords\":[\"삼성\",\"samsung\"]}],\
\"device\":\"pc\",\
\"ages\":[\"1\",\"2\",\"3\",\"4\",\"5\"]\
}";
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=body.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
response_data = response_body.decode('utf-8')
else:
print("Error Code:" + rescode)
result = json.loads(response_data)
print(result)
date = [a['period'] for a in result['results'][0]['data']]
ratio_data1 = [a['ratio'] for a in result['results'][0]['data']]
pd.DataFrame({'date':date, 'seraching_result':ratio_data1})
728x90
반응형