データ活用

【Python】InstagramのWeb APIを使ってフォロワーの推移やコメント、インプレッション情報を集めよう!

こうらく

Instagramを運用していて、公式アカウントのフォロワー数の推移や投稿したメディアに対するいいね数といったインプレッション数を分析したいといったことはありませんか?また、各投稿についているコメントを俯瞰して見ることができれば、ユーザーの傾向を把握するといったことも可能です。

本記事では、Pythonを経由してInstagramのAPIを叩いて情報を取得・加工する方法を紹介します。

今回はCSVに出力をしましたが、Google Sheetに入れる方法も別記事で記載しています。

あわせて読みたい
CSVファイルを自動でGoogle Sheetへ格納する【Pythonから追加・上書き】
CSVファイルを自動でGoogle Sheetへ格納する【Pythonから追加・上書き】

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を使ってデータを取ることに関する外観はこちらの記事をご一読いただければと思います。

あわせて読みたい
APIを活用したSaaSからのデータ抽出方法
APIを活用したSaaSからのデータ抽出方法

実行方法

下記のようにスクリプトを実行すると、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の形式で出力しています。少し高度ではありますが、投稿についたコメント内容を形態素解析することで、ユーザーの興味を大まかに可視化してみるのも面白そうですね。

ABOUT ME
こうらく
こうらく
データエンジニア
記事を読んでいただいている皆さんが理解しやすくかつ手軽に試せることを意識して、データの蓄積、加工、分析・可視化のノウハウを発信していきます!Pythonを使ったデータ収集基盤作成及びそのノウハウ発表で登壇したりしています。
記事URLをコピーしました