PythonによるWeb API入門 (3) TwitterでフォロワーのプロフィールデータをCSVにエクスポートしてデータ分析する
普段マーケティングのお仕事をしているのですが、SNSを利用したマーケティングを検討する際に、よくフォロワーの属性を分析しています。
そこで、個人でツイッターのフォロワーのデータを自動取得できるアプリを作って分析していたのですが、ほかの人も興味があるかなぁと思い、
と聞いてみたところ、300人以上の方がリツイートしてくださったので、今回はこれのやり方を解説しようと思います。
このチュートリアルで学べること
このチュートリアルでは、ツイッターのAPIを利用して、特定のアカウントのフォロワーのデータをすべてCSVに落とす方法を学べます。具体的には
・アカウント名 (DAI)
・ID (@never_be_a_pm)
・プロフィール
・フォロワー数
・フォロー数
また、最後にはおまけで、簡単にPandasを利用して、簡単なデータ分析もしてみます。
・フォロワー数ごとにソートする→インフルエンサーとのつながりがあるのか可視化する
・プロフィールに特定の単語を含んでいるアカウントだけ抽出し、数を分析する→どの界隈の人からフォローされているのかを可視化する
環境構築はGoogle Colaboratoryを利用するので、必要ありません。
Google Colaboratoryの利用方法については、こちらのnoteを見ていただけますと、理解できると思います。くわしくはのちほど解説します。
前提条件
こちらのチュートリアルをやる前に、分かっておくべき知識を羅列しておきます。
・Pythonの基本的な文法(Progateレベル)
・Pandasの利用方法
これらを学ぶには、以下のチュートリアルをやっておくと学習がスムーズです。
・Progate PythonでコースⅠ~Ⅴまで
・PythonによるWeb API入門①
・PythonによるWeb API入門②
マガジンをご購入いただくと、これらのチュートリアルがすべて手に入り、4980円で全部まとめて学習することができます。
事前準備
Twitter APIの申請
TwitterのAPIの申請を行います。すでにされている方はスキップしてかまいません。下記記事に従って、TwitterのAPIの申請を済ませておきましょう。
1-2週間くらい時間がかかりますが、その間にマガジンでAPIの入門を終わらせておくくらいがちょうどよく進められるかと思います。
Google ColaboratoryでPythonの実行環境を用意
まずはGoogle Colaboratoryを利用して、Pythonの実行環境を整えます。こちらのnoteに従って、Google Colaboratory上でPythonが実行できる環境を作成してください。
うまくいくと、このようにPythonの実行環境を整えることができます。
今回使うライブラリの説明
それでは、今回使うライブラリの概要を簡単に説明します。APIとは何かを理解できていない方は、以下チュートリアルを先にクリアしたうえで、試してみてください。
Tweepy
Tweepyは、Python上でTwitterのAPIを簡単に利用できるようにするライブラリです。APIは、このライブラリを使わずとも、Python上で実行することは可能ですが、かなりAPIや認証に関する知識がないと難しいです。一方で、Tweepyのような、APIを簡単に使えるようにしたラッパーを使うと、APIに関する知識がそこまでなくても、雰囲気でAPIを利用することができます。
おおざっぱに何ができるかは、僕のブログでも解説していますので、興味があったらみてみてください。
Pandas
Pandasは、データを前処理するライブラリです。簡単なグラフ化や統計処理も行うことができます。
詳しい使い方の解説については、Web API入門①で解説しております。
Pandasでできることについては、こちらの記事が参考になると思いますので、ぜひよんでみてください。
実装編
それでは、さっそく実装していきましょう。
必要なライブラリのインストール
それでは、まずTweeptを利用できるように、インストールします。ライブラリをインストールするには、pipコマンドを利用します。
!pip install tweepy
pipコマンドについてもっと詳しく知りたい方は、こちらの記事をご覧ください。
うまく実行できると、以下のような結果になります。
ライブラリのインポート
次に、必要なライブラリをインポートします。
import tweepy
import pandas as pd
import time
一応補足です。{import パッケージ名} でパッケージをインポートすることができます。 {import パッケージ名 as 〇〇} は、〇〇という呼び出し方でそのパッケージが使えるという意味となります。
詳しくはこちらの記事をご覧ください。
また、さきほどの解説にはなかった、timeというパッケージがあります。こちらは、後でTwitterのAPIの利用制限を食らったときに、15分間処理を止めるためのスクリプトを書くために、利用します。timeパッケージについては、こちらの解説が参考になります。
Twitter APIの認証回りの設定をする
次に、ツイッターAPIの認証回りを設定します。
基本的には、以下のパラメーターを入れます。こちらは、最初に準備しておいたTwitter APIのページから取得することができます。
以下のデータを取得してください。(上記Qiitaページから引用)
値としては、以下の通りです。
・Consumer Key
・Consumer Secret Key
・Access Token
・Access Secret Key
「ふぁ?なんじゃこりゃ?」って思った方もいらっしゃると思いますが、安心してください。今回は認証回りの知識は必要ありません。ただこんな値を使うんだよぉ~くらいの認識で構いません。ややこしいので全部理解するのは難しいです。なんとなくの説明はこちらで理解できるかと思います。
これをColaboratory上で設定します。
# コピーした各種キーをセット(値は入れ替えます)
CONSUMER_KEY = 'CONSUMER_KEY'
CONSUMER_SECRET = 'CONSUMER_SECRET'
ACCESS_TOKEN = 'ACCESS_TOKEN'
ACCESS_SECRET = 'ACCESS_SECRET'
サポートでいただいたお金はFanzaの動画を購入するために利用されます。