변혁적인 삶

[Python | 라이브러리] Tweepy와 TextBlob으로 소셜 데이터 분석하기 본문

AI

[Python | 라이브러리] Tweepy와 TextBlob으로 소셜 데이터 분석하기

revolutionarylife 2024. 11. 25. 09:02
반응형

📊 [Python | 라이브러리] Tweepy와 TextBlob으로 소셜 데이터 분석하기

목차

  • 1. Tweepy란?
  • 2. Tweepy 주요 기능
  • 3. TextBlob이란?
  • 4. TextBlob 주요 기능
  • 5. Tweepy와 TextBlob 결합 예제
  • 6. 결론 및 활용 사례

1. Tweepy란?

Tweepy는 Twitter API를 사용하여 Python으로 Twitter 데이터를 쉽게 수집할 수 있도록 도와주는 라이브러리입니다. 이를 통해 트윗 검색, 사용자 정보 조회, 실시간 스트리밍 데이터 등 다양한 기능을 구현할 수 있습니다.

아래 링크는 Tweepy 공식 레퍼런스 입니다. 저는 간단하게 주요 기능만 다루므로 자세한 내용은 공식 레퍼런스 참고 부탁드립니다.

https://docs.tweepy.org/en/stable/

2. Tweepy 주요 기능

2.1 Twitter API 인증

Tweepy는 Twitter API 키와 토큰을 사용해 OAuth 인증을 간단히 처리할 수 있습니다.

import tweepy

API_KEY = 'your_api_key'
API_SECRET = 'your_api_secret'
ACCESS_TOKEN = 'your_access_token'
ACCESS_TOKEN_SECRET = 'your_access_token_secret'

auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

print("Twitter API 인증 완료!")

2.2 트윗 검색

키워드를 사용해 특정 조건에 맞는 트윗을 검색할 수 있습니다.

# Bitcoin 관련 트윗 검색
tweets = api.search_tweets(q="Bitcoin", lang="en", count=5)
for tweet in tweets:
    print(tweet.text)

2.3 실시간 트윗 스트리밍

실시간으로 트윗 데이터를 수집할 수도 있습니다.

# 실시간 트윗 스트리밍
class MyStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        print(status.text)

stream = tweepy.Stream(auth=api.auth, listener=MyStreamListener())
stream.filter(track=["Bitcoin"])

3. TextBlob이란?

TextBlob은 Python에서 텍스트 데이터를 처리하고 분석하기 위한 라이브러리입니다. 간단한 문법으로 감정 분석, 문법 교정, 텍스트 번역 등을 수행할 수 있습니다.

아래 링크는 TextBlob의 공식 API 레퍼런스 입니다. 감정분석, 문법교정, 텍스트 번역만 다루고 있기에 더욱자세한 내용을 원하신다면 공식 레퍼런스를 참고해주세요.

https://textblob.readthedocs.io/en/dev/api_reference.html

 

4. TextBlob 주요 기능

4.1 감정 분석

TextBlob을 사용하면 텍스트의 감정 점수를 계산할 수 있습니다.

from textblob import TextBlob

text = "Bitcoin is the future of finance!"
analysis = TextBlob(text)
print(analysis.sentiment.polarity)  # 0.5 (긍정적)

4.2 문법 교정

TextBlob은 텍스트의 문법을 자동으로 교정할 수 있습니다.

text = "I amn learning Python."
blob = TextBlob(text)
print(blob.correct())  # "I am learning Python."

4.3 텍스트 번역

다양한 언어로 텍스트를 번역할 수 있습니다.

blob = TextBlob("I love Python")
translated = blob.translate(to="es")
print(translated)  # "Me encanta Python"

5. Tweepy와 TextBlob 결합 예제

Tweepy를 통해 트윗을 수집하고 TextBlob으로 감정 분석을 수행합니다.

from tweepy import OAuthHandler, API
from textblob import TextBlob

# Twitter API 인증
auth = OAuthHandler("API_KEY", "API_SECRET")
auth.set_access_token("ACCESS_TOKEN", "ACCESS_TOKEN_SECRET")
api = API(auth)

# 트윗 수집 및 감정 분석
tweets = api.search_tweets(q="Bitcoin", lang="en", count=5)
for tweet in tweets:
    analysis = TextBlob(tweet.text)
    print(f"Tweet: {tweet.text}")
    print(f"Sentiment: {analysis.sentiment.polarity}")

6. 결론 및 활용 사례

Tweepy와 TextBlob은 각각 소셜 데이터 수집과 텍스트 분석을 위해 강력한 도구를 제공합니다. 이 두 라이브러리를 결합하면 트위터 데이터를 기반으로 감정 분석, 트렌드 파악, 투자 전략 개발 등 다양한 작업을 수행할 수 있습니다. 이를 활용해 여러분만의 프로젝트를 시작해 보세요!

반응형