【Python】InstagramのWeb APIを使ってフォロワーの推移やコメント、インプレッション情報を集めよう!
Instagramを運用していて、公式アカウントのフォロワー数の推移や投稿したメディアに対するいいね数といったインプレッション数を分析したいといったことはありませんか?また、各投稿についているコメントを俯瞰して見ることができれば、ユーザーの傾向を把握するといったことも可能です。
本記事では、Pythonを経由してInstagramのAPIを叩いて情報を取得・加工する方法を紹介します。
今回はCSVに出力をしましたが、Google Sheetに入れる方法も別記事で記載しています。
APIの利用設定
InstagramのAPIを使うためにいくつか設定が必要です。本記事ではPythonでのデータ取得にフォーカスするため割愛しますが、利用開始には公式ページおよびこちらの記事が参考になります。
Pythonを使ってデータを取得
データ取得に必要な情報
サンプルスクリプトはこちらからダウンロード可能です。https://github.com/TaroJiroTaro/get_Instagram
こちらのconfigsフォルダに、ユーザーIDやアクセストークンを指定する設定ファイルがあります。
[DEFAULT]
IG_USER_ID = XXXXXXXXXXXXX
ACCESS_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
API_VERSION = v17.0
USER_NAME = hogehoge.official
[LOG]
PATH = C:\logs\Instagram
FILENAME = instagram
IG_USER_IDやACCESS_TOKENは前章のページの手順で取得できます。
取得できる情報
Pythonスクリプトからは下記の情報が取得できるようになっています。
■アカウント情報
・アカウント名
・フォロー/フォロワー数
・投稿数
■投稿情報
・投稿内容
・コメント数
・いいね数
・リール/アルバムといった分類
■コメント
・コメントしたアカウント名
・コメントした時刻
・アカウントが投稿につけたコメント内容
■各メディア(リール/アルバム)情報
・再生数
・インプレッション数
※リールの例
筆者の方ではWeb APIでデータが取得できるかのテストをTalend API TesterというGoogle Chromeの拡張機能として使えるツールを使用しています。クラウドサービスからWeb APIを使ってデータを取ることに関する外観はこちらの記事をご一読いただければと思います。
実行方法
下記のようにスクリプトを実行すると、dataフォルダに取得した情報が出力されます。前章で紹介したデータをPython内でCSVの形式になるよう加工して出力されます。
python src\main.py -configfile_path "C:\Workspace\python\get_Instagram\configs\config_instagram.ini" -csv_path "C:\Workspace\python\get_Instagram\data" -sleep_sec 0.3
・me.csv:アカウント情報
・media.csv:投稿情報
・comments.csv:コメント情報
・reel.csv:メディア(リール)情報
・album.csv:メディア(アルバム)情報
どうやって分析すればよい?
出力されたCSV同士は、各投稿の情報(media.csv)を基本情報として下記のように関連付けて分析することができます。
各投稿にはメディアIDが付与されます(画像上部:media.csvのC列)。例えば21行目の青枠で囲われたメディアには2件のコメントが付いており、コメント情報(画面左下:comment.csvの2行目)にそのうちの1つが表示されています。このように、投稿のIDに紐づく形でコメントを分析することが可能です。
その他2つのリール及びアルバム情報も同様です。例えば、media.csvの2行目の投稿に紐づくインプレッション情報は、reel.csvの1行目(画像右下の黄枠)から確認できます。
上図は分析の一例です。
この画面でフォロワーの増減数やリール・インプレッションなどの推移を確認することができます。どのような投稿がユーザーに見られているのかを確認しながら、インスタを運用できるようになりますね。
おわりに
本記事では、InstagramのAPIを使ってアカウント及び投稿情報、インプレッションなどを取得する方法を紹介しました。今回インプレッション数などをExcelやBIツール等で分析しやすいようCSVの形式で出力しています。少し高度ではありますが、投稿についたコメント内容を形態素解析することで、ユーザーの興味を大まかに可視化してみるのも面白そうですね。