Twitterのつぶやきをゲーム作りに活かせないかと思い、Twitter APIを使ってツイート情報を取得する方法を調べてみました。
以下の手順でデータを取得します。
API利用申請
Twitterにログイン
以下のURLへアクセス
Login on Twitter
app作成
[Create an app]ボタンをクリックしてappを作成します。
国とかニックネーム入力
「住んでいる国」と「ニックネーム」を記入します。
利用目的
質問内容は以下のようなものです。
- Twitter APIまたはTwitterデータの利用方法を教えてください。
- ツイッターのデータを利用しますか?
- アプリはツイート、リツイート、お気に入り、フォロー、ダイレクトメッセージを利用しますか?
- Twitter以外のTwitterコンテンツに関するツイートを表示したり集計データを表示しますか?
- あなたの製品・サービス,または分析によって,Twitterコンテンツまたは派生情報が政府機関が利用可能になりますか?
確認
設定が完了すると確認画面に進みます。
APIキー/トークン取得
ツイート収集スクリプト作成
TwitterAPIをPython3から実行
twitterモジュールインストール
pip3 install twitter
簡易的にスクリプト作成
以下サンプルプログラム(タイムライン取得)
ユーザ名とツイート本文を十文字目まで表示
CONSUMER_KEY = 'API key' CONSUMER_SECRET_KEY = 'API key secret' ACCESS_TOKEN = 'Access token' ACCESS_TOKEN_SECRET = 'Access token secret' from twitter import * t = Twitter( auth=OAuth( ACCESS_TOKEN, ACCESS_TOKEN_SECRET, CONSUMER_KEY, CONSUMER_SECRET_KEY ) ) timelines = t.statuses.home_timeline() for timeline in timelines: tl = '({id}) [{username}]:{text}'.format( id=timeline['id'], username=timeline['user']['name'][1:10], text=timeline['text'][1:10] ) print (tl)
実行イメージ
jupyterから実行してみました。
おまけ
ツイートの検索
searchs = t.search.tweets( q='youtube', locale='ja', count=100, include_entities=False ) for search in searchs[ 'statuses']: s = '{date_time} {username}:{text}'.format( date_time = search['created_at'], username = search['user']['screen_name'][1:10], text=search['text'][1:10] ) print (s)