Python × Twitter API 검색 & 복합 차트 표시

사용자별 트위터 5개


import tweepy

consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

# 特定のユーザー
Account = "non_0131"
tweets = api.user_timeline(Account, count=5)
for tweet in tweets:
    print('-------------------------------------------')
    print('tweetId : ', tweet.id)
    print(tweet.text)

실행 결과


Image from Gyazo

키워드 검색 5건


import tweepy

consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

keyword = 'Python'

# キーワード検索
for tweet in api.search(q=keyword, count=5):
    print('-------------------------------------------')
    print('name:' + tweet.user.name)
    print(tweet.text)

실행 결과


Image from Gyazo

특정 키워드가 포함된 트위터 건수


import tweepy

consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

# ツイート件数 ※最大10件まで
keyword = '五反田'
tweets_data = []

for tweet in tweepy.Cursor(
    api.search,
    q=keyword,
    tweet_mode='extended',
        lang='ja').items(10):
    tweets_data.append(tweet.full_text.strip().replace('\n', '。') + '\n')

print(len(tweets_data))

실행 결과


Image from Gyazo

특정 키워드가 포함된 트윗 개수(기간 지정)


import tweepy

consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

tweets_data = []
keyword = '五反田'
since = "2021-04-23 00:00:00"
until = "2021-04-24 00:00:00"

for tweet in tweepy.Cursor(api.search,
                           q=keyword,
                           tweet_mode='extended',
                           lang='ja',
                           since=since,
                           until=until).items():
    tweets_data.append(tweet.full_text.strip().replace(
        '\n', '。') + '\n')

print(len(tweets_data))

실행 결과


Image from Gyazo

복합 차트 표시


import plotly.graph_objects as go

fig = go.Figure()
X = ["2021/4/18", "2021/4/19", "2021/4/20"]
Y = [50, 100, 1000]
Z = [10, 70, 100]

fig.add_trace(go.Bar(x=X, y=Y, name="累計"))

fig.add_trace(go.Scatter(x=X, y=Z, name="当日"))

fig.update_xaxes(title="日時")
fig.update_yaxes(title="投稿数(累計)")
fig.update_layout(font={"family": "Meiryo", "size": 20})
fig.update_layout(showlegend=True)
fig.update_layout(width=800, height=600)
fig.update_layout(template="plotly_white")
fig.show()

실행 결과


Image from Gyazo

참고 문헌

  • Django+Twitter API를 통한 어플리케이션 만들기
  • Django에 Plantly 차트 표시
  • Tweepy에서 트위터를 검색하면 좋네요.
  • [Tweepy] 트위터 API에서 데이터를 수집하는 데 오류가 있으면...
  • psyhon의 matplotlib로 도표를 만들었어요.
  • Django에서 Platly를 사용한 차트
  • [Pythhon] Platly로 돌리는 그래프 만들기
  • Platly를 사용하여 폴리라인 및 복합 차트
  • 【Python×Twitter API: Twitter 클라이언트를 만들기 전의 길[API에서 장난치기]
  • 좋은 웹페이지 즐겨찾기