PythonによるWeb API(4) 指定したツイッターアカウントのツイートを全抽出する
こんにちは、DAIです。こちらのツイートをしたところ、100名以上の方がRTしてくださったので、noteにまとめていきたいと思います。
この#DAINOTE でできること
この #DAINOTE でできるようになることは以下の通りです。
・指定したツイッターのアカウントから、ツイートをすべて取得する
・それぞれのいいね数、リツイート数、ツイート内容、作成日時をCSVに保存する
なんの役に立つのか?
基本的には、ツイッター上のツイートのデータは、自分のTwitter Analyticsからしかデータを取得できません。
そのため、どのアカウントのどのツイートが反響があったかや、だれにメンションしているかは、目視で一つ一つデータにしてとっていかないんですよね。
一方で、Twitter APIを利用すると、簡単に特定のアカウントのツイートのデータをCSV形式に取得することができます。
この #DAINOTE で学べること
以下のスキルを学ぶことができます。
・Twitter APIを利用した、データ取得
もう少し細かく説明すると、
・PythonからTwitter APIを利用するTweepyというパッケージの利用方法
・Pythonからデータの前処理を行うことができる、Pandasというパッケージの利用方法
となります。そして最終的には、以下のようなことができるようになります。
・指定したアカウントのツイッターのツイートをダウンロードできるようになる
必須な知識
この #DAINOTE をやる前に、以下のことは理解しておいてください。
・ProgateでPythonⅠ~Ⅴまでクリアしていること
・TwitterのAPIの申請を行っていること(※ない場合は、だいたい1-2週間程度かかります)
・Web APIの基礎知識があること(Web API(1)~(2)までの理解があること)
ツイッターのAPIの申請方法については、こちらをご覧ください。
また、APIをまだ一度も利用したことがない人は、Web API(1)から順にやっていったほうが理解が早いと思うので、そちらも試してみて下さい。
もし全部やってみたい方がいれば、以下のマガジンから購入した方がお安くなります。
実装方法
それでは、実装方法を書いていきたいと思います。
以下の記事を読んで、Google Colaboratoryを利用できるようにしておいてください。こちらのnoteを見ると、Pythonの環境構築の方法が分かります。
パッケージのインポート
以下のパッケージをインポートします。TwitterのAPIを簡単に利用できる、Tweepyと、データの操作ができるPandasをインポートします。
import tweepy
import pandas as pd
ない場合には、先に以下のコマンドを利用してインポートします。
!pip install tweepy
!pip install pandas
これでパッケージがインストールされるので、そのあとに上記のimportを行ってください。これでうまくいくはずです。
Web APIの認証キーのセット
以下の値をセットしてください。
・CONSUME_KEY
・CONSUMER_SECRET
・ACCESS_TOKEN
・ACCESS_SECRET
指定したら、以下のコードによって、APIを利用できるようにします。
import tweepy
import pandas as pd
# 各種キーをセット
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN = ''
ACCESS_SECRET = ''
#APIインスタンスを作成
api = tweepy.API(auth)
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
#APIインスタンスを作成
api = tweepy.API(auth)
Pandasでデータフレームの追加
サポートでいただいたお金はFanzaの動画を購入するために利用されます。