これはなに?
前回の記事に引き続いて、Instagram Graph APIとPythonを使って、ハッシュタグ検索をしてみましたので、API仕様とサンプルコードを載せています。 Instagram Graph APIはドキュメントを呼んでもイマイチ使い方がわからないのと、あまり情報がないので結構利用に苦労します。。。
環境
- Python3
- jupyter notebook
Instagram Graph API実行に必要な情報
- アクセストークン
- ビジネスアカウントID
必要な情報の取得は以下の記事を参照してください。
- Instagram Graph APIとGAS(Google Apps Script)を使ってインスタグラムのフォロワー数を自動的に日々記録する - Qiita
- Instagram Graph API を利用してつまづいた話 | コーヒー飲みながら仕事したい
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の形でハッシュタグ 検索の結果を取得できます。
サンプルコード
ハッシュタグ検索するには、まず、検索したいキーワードのハッシュタグIDを取得する必要があります。その後にハッシュタグIDを使用して、トップ投稿を検索するという流れになります。 検索では一度に30件?しか取得できないので、ループする処理を入れています。ただ、APIの使用なのか同じ内容を検索結果として取得してしまうので、ループ結果を結合する際に、IDで重複排除も合わせて行っています。
入力項目の値を自身の環境情報に置き換えてプログラム実行してみてください。
■ 入力項目
- user_business_account_id : ビジネスアカウントID
- your_token : アクセストークン
- keyword : 検索したいハッシュタグ キーワード
gist12c5e2c6901cf6b1d704e4478f1ca196
最後に
ハッシュタグのトップ投稿の検索を実施してみましたが、Instagramを分析するには十分な情報が取得できたと思います。ただ、トップ投稿者の分析をしたかったのですが、個人情報の観点からかユーザー名を取得できなかったので、 ちょっと残念。