Kibana와 파이썬을 이용한 실시간 트위터 데이터 시각화

이번 글에서는 Kibana와 파이썬을 사용하여 실시간 트위터 데이터를 시각화하는 방법에 대해 알아보겠습니다. Kibana는 Elastic Stack의 한 컴포넌트로, 데이터 분석 및 시각화 도구로 널리 사용됩니다. 파이썬은 트위터 API를 통해 실시간 데이터를 받아와 Kibana에 시각화하기 위해 사용됩니다.

Kibana와 Elastic Stack 설정

먼저, Kibana와 Elasticsearch를 설치하고 설정해야 합니다. Elastic Stack의 공식 웹사이트에서 다운로드할 수 있으며, 각각의 공식 문서를 참조하여 설치 및 설정을 진행하시면 됩니다.

파이썬을 통한 트위터 데이터 수집

실시간 트위터 데이터를 받아오기 위해 Tweepy 라이브러리를 사용할 것입니다. Tweepy는 트위터 API와 통신하는 데 사용되며, 간단하게 설치하고 설정할 수 있습니다.

import tweepy

# 트위터 API 인증 정보 설정
consumer_key = "YOUR_CONSUMER_KEY"
consumer_secret = "YOUR_CONSUMER_SECRET"
access_token = "YOUR_ACCESS_TOKEN"
access_token_secret = "YOUR_ACCESS_TOKEN_SECRET"

# Tweepy를 사용하여 인증 정보 설정
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

# API 인스턴스 생성
api = tweepy.API(auth)

# 트위터 스트리밍 시작
class MyStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        print(status.text)

my_listener = MyStreamListener()
my_stream = tweepy.Stream(auth, listener=my_listener)

# 특정 키워드를 포함하는 트윗을 스트리밍 프로세스로 가져옴
my_stream.filter(track=['python', 'Kibana'])

위의 코드는 트위터 API에 접근하기 위한 인증 정보를 설정하고, Tweepy를 사용하여 트윗을 실시간으로 가져오는 코드입니다. ‘python’과 ‘Kibana’라는 키워드를 포함하는 트윗만 가져옵니다.

Kibana에서 데이터 시각화

Kibana에 데이터를 시각화하기 위해 Elasticsearch에 트위터 데이터를 저장해야 합니다. Tweepy를 사용하여 받은 트위터 데이터를 Elasticsearch에 인덱싱하는 코드는 다음과 같습니다.

from elasticsearch import Elasticsearch

# Elasticsearch 연결
es = Elasticsearch("http://localhost:9200")

# 트위터 데이터를 Elasticsearch 인덱스에 저장
def index_tweet(status):
    tweet = {
        "user": status.user.screen_name,
        "text": status.text,
        "created_at": status.created_at
    }
    res = es.index(index="twitter", doc_type="_doc", body=tweet)
    print(res['result'])

my_listener = MyStreamListener()
my_listener.on_status = index_tweet

my_stream.filter(track=['python', 'Kibana'])

위의 코드는 Elasticsearch에 ‘twitter’라는 이름의 인덱스를 생성하고, Tweepy를 사용하여 받은 트위터 데이터를 Elasticsearch에 인덱싱하는 코드입니다.

인덱싱이 완료되면 Kibana 대시보드에서 데이터 시각화를 할 수 있습니다. Kibana를 열고 ‘twitter’ 인덱스를 선택한 후, 원하는 시각화 방식에 맞춰 데이터를 시각화할 수 있습니다.

이제 Kibana와 파이썬을 사용하여 실시간 트위터 데이터를 시각화하는 방법을 알게 되었습니다. Kibana를 통해 다양한 시각화 옵션을 활용하여 데이터를 쉽게 분석하고, 통찰력 있는 정보를 얻을 수 있습니다.

#elasticsearch #kibana