티스토리 뷰

반응형

많은 카카오톡 봇들에 있는 기능인 실시간 검색어는 카카오톡 봇을 처음 접하시는 분들에게는 네이버를 파싱 해야 한다는 부분에서 어려움을 겪으시는 경우가 많습니다.

그래서 이번엔 비교적 쉽고 안전한 방법으로 실시간 검색어기능을 구현할 수 있는 방법을 알려드리려고 합니다.

우리가 실시간검색어를 가져올 곳은

https://www.naver.com/srchrank?frm=main&ag=all&gr=1&ma=-2&si=0&en=0&sp=0

위 링크입니다.

기존 대부분의 실시간 검색어를 가져오는 방법은 https://www.naver.com

네이버 홈페이지를 가져온 후, 실시간 검색어 부분만 잘라내는 방식을 사용했었는데요, 이 방법에는 안정성과 속도에서 단점이 존재합니다.

네이버가 페이지를 자주 수정하다 보니 어느 순간 작동하지 않을 가능성이 높으며 (물론 우리가 사용할 링크도 네이버가 공개적으로 제공하는 open API가 아니다 보니 언제 사라질지 모릅니다)
네이버 자체를 긁어오다보니 속도에 제약이 있습니다.

우리가 사용하는 링크에서는 JSON형태로 실시간 검색어만 제공되어 빠르게 가져올 수 있고, JSON형태다 보니 어느 정도 안정성이 존재합니다. 

이제 카카오톡 봇에서 저 링크를 어떻게 사용하여 실시간검색어 기능을 구현할 수 있는지 예제를 보여드리겠습니다.

 

 

 

처음 봤을땐 복잡해 보일지는 몰라도 무슨 의미인지만 알면 쉽습니다.

사실 우리가 사용하는 링크는 위 모습과 같은 구조를 가지고 있습니다.
data라는 배열 안에 1위부터 20위까지의 실시간 검색어의 정보가 있습니다.

우리는 저 링크에서 실시간 검색어 정보를 가져온 다음, data를 0부터 19까지 사람이 이해하기 쉽도록 변환하고 전송하는 겁니다.

(주석 포함한 소스인데 난해하네요)

나는 아무것도 모르겠고 그냥 이 기능을 쓰고 싶다! 하시는 분들은 새로운 스크립트 만드시고 싹 다 지우 신다음에 아래 소스 붙여 넣기 하시면 됩니다.

또는 response 없이 위 소스의 예외처리가 포함된 걸 원하신다면 아래 소스를 자신의 스크립트 response안에 붙여 넣기 하시면 됩니다.

복사가 어려우신 분들은 아래 깃허브에서 다운로드해보세요.

레포지트리 : https://github.com/jungwuk-ryu/real-time-keyword-search

전체 소스 : https://github.com/jungwuk-ryu/real-time-keyword-search/blob/master/forKakaotalkBot_full.js
실시간 검색어만 있는 소스: https://github.com/jungwuk-ryu/real-time-keyword-search/blob/master/forKakaotalkBot.js

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday