雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

Instagram Graph APIとPythonでInstagramのハッシュタグ検索

これはなに?

前回の記事に引き続いて、Instagram Graph APIとPythonを使って、ハッシュタグ検索をしてみましたので、API仕様とサンプルコードを載せています。 Instagram Graph APIはドキュメントを呼んでもイマイチ使い方がわからないのと、あまり情報がないので結構利用に苦労します。。。

www.cloudnotes.tech

環境

  • Python3
  • jupyter notebook

Instagram Graph API実行に必要な情報

  • アクセストークン
  • ビジネスアカウントID

必要な情報の取得は以下の記事を参照してください。

Instagram Graph APIの利用

IGハッシュタグ

ハッシュタグの付いた最も人気のあるメディアを取得する。 取得できる情報としては、メディア情報と殆ど同じ情報が取得できます。

GET /{ig-hashtag-id}/top_media?user_id={user-id}&fields={fields}
フィールド名 説明
id 投稿ごとのユニークID
media_type メディア種類
media_url メディアリンク
permalink 記事リンク
caption キャプション
like_count いいね数
comments_count コメント数
timestamp タイムスタンプ

サンプル結果

サンプルコードを実行すると以下のようにDataFrameの形でハッシュタグ 検索の結果を取得できます。 f:id:ykoomaru:20210720222128p:plain

サンプルコード

ハッシュタグ検索するには、まず、検索したいキーワードのハッシュタグIDを取得する必要があります。その後にハッシュタグIDを使用して、トップ投稿を検索するという流れになります。 検索では一度に30件?しか取得できないので、ループする処理を入れています。ただ、APIの使用なのか同じ内容を検索結果として取得してしまうので、ループ結果を結合する際に、IDで重複排除も合わせて行っています。

入力項目の値を自身の環境情報に置き換えてプログラム実行してみてください。

■ 入力項目

  • user_business_account_id : ビジネスアカウントID
  • your_token : アクセストークン
  • keyword : 検索したいハッシュタグ キーワード

gist12c5e2c6901cf6b1d704e4478f1ca196

最後に

ハッシュタグのトップ投稿の検索を実施してみましたが、Instagramを分析するには十分な情報が取得できたと思います。ただ、トップ投稿者の分析をしたかったのですが、個人情報の観点からかユーザー名を取得できなかったので、 ちょっと残念。

f:id:ykoomaru:20210720223725p:plain