본문 바로가기

AI/Technique

pytrends: 파이썬에서 Google Trends를!

Google Trends란 뭘까?

 

Google Trends is a website by Google that analyzes the popularity of top search queries in Google Search across various regions and languages.

Google Trends는 다양한 지역과 언어에서 Google 검색의 인기 검색어의 인기를 분석하는 Google 웹 사이트입니다.

(출처: https://en.wikipedia.org/wiki/Google_Trends)

 

사실 Google Trends는 원래 알고 있었지만, 자연어 처리를 공부하게 되면서 흥미를 더 가지게 되었다.

 

iOS에서 제공하는 단축어 기능에 SSH를 사용할 수 있는 기능이 있는데 이것을 이용하면 코딩만 잘해놓으면 Siri를 사용해서 아침마다 트렌디한 글로벌 인사이트를 받아볼 수 있지 않을까? 하는 생각에서 더 파보게 되었다.

 

시리와 SSH를 연동하는 글은 나중에 다시 쓰기로 하고, 다시 Google Trends에 대해서 조금 더 알아보자.

 

이미 많은 다른 포스팅에서 Google Trends에 대해서 많이 다뤘기 때문에 간단하게만 짚고 넘어가자.

 

국가를 한국으로 설정하고, 요즘 큰 문제인 '코로나'를 키워드로 사용하면,

 

  • 첫 번째로, 시간에 따른 해당 국가의 시간 흐름에 따른 관심도 변화를 max값을 100으로 정규화된 그래프로 보여준다.
  • 두 번째로, 하위 지역 / 대도시 / 도시(한국은 대도시 항목이 없다)에 따라서 관심도를 지도상의 그래프로 보여준다. 하위 지역별 관심도의 경우 CSV 파일로 다운로드하면 디테일하게 정규화된 수치를 확인할 수 있다.
  • 세 번째로, 내가 입력한 키워드의 관련 주제를 보여준다.
  • 네 번째로, 내가 입력한 키워드의 관련 검색어를 보여준다.

네 가지 정도의 정보를 확인할 수 있는데, 생각보다 꽤 유의미한 정보들을 가지고 있고, 관련 주제나 관련 검색어의 경우에는 다른 주제로 더 확장할 수 있는 좋은 단서가 될 것 같다.

 

이제 이 웹 상의 데이터들을 이용하려면 어떻게 해야 할까?

크롤링!

하지만 누군가가 비슷한 생각을 하고 Unofficial API를 개발해놨다!

 

https://pypi.org/project/pytrends/

 

pytrends

Pseudo API for Google Trends

pypi.org

pypi에 올라가 있는 pytrends라는 Python 모듈이다.

 

링크를 따라가면 Documentation이 완전 친절하지는 않지만 쓸만하게는 적혀있다.

 

몇 가지 주의해야 할 점은, 위에서 언급했다시피 Unofficial API이기 때문에 Document에서도 Google rate limit에 대한 언급이 있고 이에 대한 나름의 해결책을 제시한다.

 

또한, 잠깐 사용해 본 결과 뭔가 parameter에 대한 부분이 완전히 매끄럽지는 않고(느낌상) 에러에 대한 처리도 그렇게 완벽하지는 않다.

 

하지만, 내가 코드를 직접 안 짜도 되고 편하게 pip으로 설치할 수 있는 건 정말 장점인 거 같다!