pythonでtwitterを操作することで、さまざまな情報を取得することができます
取得できる情報はこちらの記事を参考にしてください
今回の記事では、pythonでtwitterのトレンドを取得する方法について解説していきたいと思います
pythonでtwitterを操作してみたい
pythonでtwitterのトレンドを取得したい
という方向けに、pythonを使ったtwitterのトレンド取得方法について解説していきます
以下の記事では、pythonでtwitterを使う方法をまとめて解説しているので、参考にしてみてください
pythonでtwitterを扱えるようになると、twitterで行われている懸賞に自動で応募することができるようになります
Contents
pythonでtwitterのトレンドを取得する
pythonでtwitterのトレンドを取得するには、事前準備が必要になります
まずは、twitter Developersに登録し、API認証を受ける必要があります
tweepyのインストール
twitter APIの認証が完了したら、tweepyをインストールしておきます
Macの方は、ターミナル、windowsであればコマンドプロンプトで以下のコマンドを入力します
pip install tweepy
これで準備完了です
tweepyについて詳しく知りたい方は、こちらの記事を参考にしてください
WOEID
WOEIDはWhere On Earth IDentifierを指します
各国・都市にそれぞれ振られたIDであり、twitter APIではWOEIDを使用して、地域を指定・トレンドを取得していきます
WOEIDの割り振り
都市 | WOEID |
---|---|
千葉 | 1117034 |
福岡 | 1117099 |
浜松 | 1117155 |
広島 | 1117227 |
川崎 | 1117502 |
北九州 | 1110809 |
神戸 | 1117545 |
熊本 | 1117605 |
京都 | 15015372 |
名古屋 | 1117817 |
新潟 | 1117881 |
岡山 | 90036018 |
沖縄 | 2345896 |
大阪 | 15015370 |
相模原 | 1118072 |
埼玉 | 1116753 |
札幌 | 1118108 |
仙台 | 1118129 |
高松 | 1118285 |
東京 | 1118370 |
横浜 | 1118550 |
日本 | 23424856 |
日本国内のWOEIDは上記です
国内のトレンドを取得したい場合には、上記いずれかを指定すればOKです
各国のWOEIDを知りたい場合には、以下のサイトで調べることができます
pythonでtwitterのトレンドを取得するコード
まずは全体のコードから
今回は取得したデータをpandasのデータフレームに変換しています
import tweepy
import pandas as pd
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_SECRET = ''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
#千葉のWOEID
woeid = 1117227
#トレンド一覧取得
trends = api.get_place_trends(woeid)
df = pd.DataFrame(trends[0]["trends"])
print(df)
twitter APIの認証
まずはtwitter APIの認証です
import python
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_SECRET = ''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
トレンドの取得
tweepyを使ってトレンドを取得するには、API.get_place_trends()を使用します
#千葉のWOEID
woeid = 1117227
#トレンド一覧取得
trends = api.get_place_trends(woeid)
取得したトレンドをデータフレームにする
トレンドを取得したら、pandasのデータフレームにしていきます
df = pd.DataFrame(trends[0]["trends"])
まとめ
- トレンド取得にはAPI.get_place_trends()を使用
- 各地域でトレンドは異なるのでWOEIDで指定する