IT

네이버 데이터랩 API에서 주제어 개수 제한없이 검색량 조회하기

유병혁 2019. 9. 7. 20:30

안녕하세요? 이번 글은 네이버 데이터랩 API에서 주제어 개수 제한없이 검색량을 조회하는 방법을

정리해 보겠습니다. 데이터랩 API 기본 사용법은 아래 글을 통해 정리한 바가 있습니다.

데이터랩 API를 이용한 '국립공원'과 '깃대종' 검색량 비교 | http://blog.daum.net/geoscience/1405


네이버 데이터랩 API 사용 안내는 아래 링크를 참조하시면 됩니다.

통합 검색어 트렌드 API 적용 가이드 - NAVER Developers | https://developers.naver.com/docs/datalab/search/


일단, 관련 라이브러리를 추가합니다.


데이터랩 API를 이용한 검색량 조회 과정을 datalab_api라는 이름의 함수로 정의합니다.


이 함수는 최대 5개 주제어에 대한 검색량을 JSON 형식으로 받아 Pandas 형식으로 반환합니다.


아래와 같이 정의한 함수를 적용하여 결과를 반환할 수 있습니다. 이때 검색량은 가장 큰 값을 100으로 설정한 상댓값입니다.


검색량을 조회할 키워드들을 2차원 리스트로 정리해 봅니다. 이때 첫번째 주제어(국립공원)는 데이터랩 API를

이용할 때 매번 반복 조회되도록 설정합니다. 검색결과에서 상대값을 정규화하기 위한 기준치가 필요하기 때문입니다.


정규화를 위해 첫번째 주제어 검색량의 최소값, 최대값을 계산합니다. 정규화는 아래 글의 도움을 받았습니다.

Scaling / Normalizing pandas column | https://stackoverflow.com/questions/50027959/scaling-normalizing-pandas-column 


최소-최대 정규화를 적용한 datalab_api_kw_list 함수를 아래와 같이 정의해 줍니다.


데이터랩 API 규칙에 맞게 5개씩 주제어를 적용하되, 첫번째 주제어를 기준으로 정규화를 수행하여 상댓치를 갱신해가는 방식입니다.

원하는 주제어가 5개 단위로 딱 떨어지지 않는 경우에는 '테스트'라는 이름의 주제어로 채우고, 최종 데이터프레임에서 테스트 컬럼을

삭제하는 방식으로 처리하였습니다. 


자, 이제 주제어 개수 제한없이 검색량을 조회해볼 수 있겠죠?! 국립공원 깃대종 41종이 한번에 검색되었습니다.


깃대종 전체 41종의 검색량(전체 평균) 비교를 위한 바 플롯을 그려봤습니다. 소나무, 수달, 여우, 삵, 하늘다람쥐는 국립공원보다 검색량이 높습니다.


깃대종별 추가 분석을 위해 데이터랩 API 검색결과는 엑셀파일로 저장해 놓겠습니다.