tweepyでツイッターをキーワード検索して、結果をエクセルに書き込む処理を作ったのでメモしておく。
以下を参考。
http://statsbeginner.hatenablog.com/entry/2015/10/21/131717
http://kasoutuuka.org/twitter-tweepy
http://qiita.com/Kamo3167/items/b13531938a68234f19bf
http://kivantium.hateblo.jp/entry/2015/01/03/000225
ソース
# -*- coding:utf-8 -*-
import tweepy
import datetime
import xlsxwriter
#keyの取得
CONSUMER_KEY = '****************'
CONSUMER_SECRET = '****************'
#OAuthHandlerクラスのインスタンスを作成
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = '****************'
ACCESS_SECRET = '****************'
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
# OAuth認証
api = tweepy.API(auth)
wb = xlsxwriter.Workbook('tweet.xlsx')
ws = wb.add_worksheet("teet")
# エクセルヘッダの作成
format = wb.add_format()
format.set_num_format('yy/mm/dd')
ws.write(0, 0, "name")
ws.write(0, 1, "user name")
ws.write(0, 2, "tweet")
ws.write(0, 3, "create date")
i = 1
# twitter内を検索し、結果をエクセルに書き込む
for status in api.search(q='"アイカツ"', lang='ja', result_type='recent',count=100):
ws.write(i, 0, status.user.name)
ws.write(i, 1, status.user.screen_name)
ws.write(i, 2, status.text)
ws.write(i, 3, status.created_at+ datetime.timedelta(hours=9),format)
i = i + 1
wb.close()
結果
こんな感じで名前とユーザ名とツイートと投稿日をエクセルに書き込む。
tweepyでコーディングする前にやっておくこと
- ツイッターアカウントを作成する(当然)
- Twitter Application Managementでアプリケーションを登録する
Twitter Application Managementで登録するんだけど、Websiteが必須だけどそんなもの使わないので、適当なURL入れておけばOK。
登録するときの注意点としてはツイッターアカウントに電話番号が必要という点。
でもって電話番号を登録するときに、電話番号とSMSに送信された6ケタの番号を入力するんだが、そこで電話番号も6ケタの認証番号もあってるのに登録できなかった。
原因は電話番号の頭の0をつけているから。090-XXXX-YYYYなら90XXXXYYYYでなければならない。
http://qiita.com/tk1024/items/644ead20793a6e869b83
アプリケーションを登録できたら以下をメモしておく
- Consumer Key (API Key)
- Consumer Secret (API Secret)
- Access Token
- Access Token Secret
tweepyでコーディング
コーディングと言っても上記でメモしたkey情報でOAuth認証するくらいなので、検索のところだけ。
api.search(q='"アイカツ"', lang='ja', result_type='recent',count=100):
この処理はツイッターで「アイカツ」をキーワード検索して、抽出は日本の地域に絞る。最新のツイート100件を取得するというもの。
tweepyの仕様上、取得ツイート数の上限は100なので、101とかやっても100しか取得できない。
細かい設定については以下を参照。
https://syncer.jp/twitter-api-matome/get/search/tweets
雑感
取得ツイート数の上限が100なので、これを使って分析は難しいかなという印象。
実装自体は簡単だし、ツイートの取得のほかにツイート自体もできるので自動ツイートとかそういうのに使えたらいいのかなー。