マーケティングリサーチのためのInstagram公開データのスクレイピング方法

Instagramは2020年に公開APIアクセスを廃止しましたが、公開ウェブエンドポイントは依然としてプロフィール、投稿、ハッシュタグデータをJSON形式で返します。ここでは、どのデータが取得可能か、なぜモバイルIPが重要か、そしてその境界線について説明します。

Instagramは2020年に公式APIの公開アクセスを閉鎖しました。そのため、現在のInstagramデータのスクレイピングガイドはすべて、公開ウェブエンドポイントに依存しています。マーケティングリサーチにとっての良いニュースは、それらのエンドポイントが依然としてプロフィール、投稿、リール、ハッシュタグのボリュームをクリーンなJSON形式で返すことです。ログインは不要です。ただし、Instagramは自動化されたトラフィックを最も積極的にフラグ付けするプラットフォームの1つであるため、使用するIPと保持するペースがエンドポイントが開いたままであるかどうかを決定します。このガイドでは、どのデータが取得可能か、それにアクセスするためのコード、そして越えてはならないToSとGDPRの境界線について説明します。

実際に収集できるInstagramの公開データ

アカウントなしでも驚くほど多くのデータにアクセスでき、そのすべてが市場調査やインフルエンサーリサーチに役立ちます:

認証されたセッションなしでは取得できないもの: フォロワーリスト全体、投稿にいいねをしたアカウントのリスト、プライベートアカウントとストーリー。これらのエンドポイントはセッションクッキーを必要とし、そこがアカウントの禁止とToS違反が集中する場所です。リサーチのためには、公開された表面に留まってください。

プロフィール、投稿、ハッシュタグボリュームなどの公開Instagramデータと、フォロワーリストやいいねをした人のリストなどのログインが必要なデータの比較。アカウント禁止のリスクを伴います。
公開ウェブデータは安全な表面です。セッションクッキーの背後にあるものは、アカウント禁止とToSのリスクを伴います。

公開プロフィールエンドポイントとそのコード

Instagramのウェブアプリは、誰でも呼び出せるJSONエンドポイントからプロフィールデータを取得します。公開ウェブアプリIDヘッダーを送信すれば、プロキシを通じてプロフィールデータを数行で取得できます。

import requests

PROXY = "http://USER:PASS@gate.quantumproxies.io:8000"  # mobile pool
proxies = {"http": PROXY, "https": PROXY}

HEADERS = {
    "x-ig-app-id": "936619743392459",  # public web app id
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) "
                  "AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
}

def profile(username):
    url = "https://www.instagram.com/api/v1/users/web_profile_info/"
    r = requests.get(url, params={"username": username},
                     headers=HEADERS, proxies=proxies, timeout=20)
    r.raise_for_status()
    return r.json()["data"]["user"]

u = profile("natgeo")
print(u["full_name"], u["edge_followed_by"]["count"])

同じペイロードがedge_owner_to_timeline_mediaの下に最近の投稿を含んでいるため、1回の呼び出しでプロフィールとその最新のエンゲージメントを同時に取得できます。

for edge in u["edge_owner_to_timeline_media"]["edges"]:
    node = edge["node"]
    print(node["shortcode"],
          node["edge_media_preview_like"]["count"],   # likes
          node["edge_media_to_comment"]["count"])       # comments

なぜモバイルプロキシがInstagramで勝つのか

Instagramの最も一般的な失敗はレートリミットブロックです。エンドポイントがエラーを返し始め、それをヒットしたIPを一時的に禁止します。待機とタイムアウトの延長は多少役立ちますが、耐久性のある修正はIPタイプです。モバイルプロキシはここで最強のオプションです。なぜなら、CGNATのために1つのモバイルIPが何千もの実際の加入者と共有されているため、Instagramはそれをブロックすると実際のユーザーにも影響を与えることになります。これにより、モバイルエグジットは最も禁止しにくく、ほとんどの人が実際にアプリを閲覧する方法に最も近いものとなります。なぜCGNATがモバイルIPを信頼されるのかについての説明と、モバイルプロキシとVPNの比較がその理由を説明しています。

モバイルプロキシプールを人間のペースと組み合わせて - ランダムな遅延、同時実行数の制限、ブロック率が上がったときの停止 - 公開エンドポイントは長期間の収集ランで開いたままになります。

モバイルプールが利用できない場合、住宅プロキシは合理的な代替手段です - 我々の住宅ネットワークは200以上の国にわたり、地理的に正確な収集を可能にします - しかし、特にInstagramでは、モバイルエグジットが最も長く生き残ります。どのIPタイプであっても、レートリミットの応答を再試行するのではなく、ペースを落とす信号として扱ってください: 後退し、回転し、呼び出し間の間隔を長くしてください。スロットルを尊重するスクレイパーは、ブロックを突破して1時間でプールを燃やすものよりも、1日ではるかに多くを収集します。

モバイルプロキシを通じてユーザー名とハッシュタグのシードリストを公開web_profile_info JSONエンドポイントにルーティングし、構造化された行に変換する堅牢なInstagram公開パイプライン
モバイルIPと人間のペースが長期間のランで公開エンドポイントを開いたままにします - CGNATがそれらのエグジットを禁止しにくくします。

ソーシャルプラットフォーム向けに構築されたモバイルプロキシを入手する

ハッシュタグとディスカバリー

トレンドとインフルエンサーの発見において、ハッシュタグデータは個々のプロフィールをスクレイピングするよりも優れています。ハッシュタグページは投稿ボリュームと関連タグのクラスターを公開し、トピックがどれだけ飽和しているかをマッピングし、ターゲットとする静かな隣接タグを見つけることができます。それをプロフィールごとのエンゲージメント率 - フォロワー数に対するいいねとコメント - と組み合わせることで、ゲートデータに触れることなく、守りやすいクリエイターのショートリストを得ることができます。あなたのリサーチがプラットフォームを超える場合、同じディシプリンがTikTokの公開データにも適用され、Instagram、TikTok、Xでのソーシャルオートメーションの実行と重なります。

何を保持し、何を捨てるべきか

リサーチのためには、集計されたシグナルを保存し、他を捨ててください。フォロワー数とフォロー数、投稿頻度、平均いいねとコメント、ハッシュタグの使用は、個人情報の山を保持することなく、リーチとエンゲージメントについてすべてを教えてくれます。メディアURLは期限切れになり、フルキャプションはストレージを膨らませるので、shortcodeのような安定した識別子とメトリクスを保持し、必要に応じてコンテンツを再取得してください。保持するものを最小限にすることは、優れたエンジニアリングであると同時に、GDPRの境界線の安全な側面でもあります - エンゲージメント率のテーブルは、名前付きアカウントとその投稿の倉庫よりもはるかに敏感ではありません。

ToSとGDPRの境界線

2つの境界が重要です。まず、Instagramの規約は自動収集を制限しており、ログインセッションを使用してゲートデータをスクレイピングすることは、IPだけでなくアカウントにもリスクをもたらします - リサーチのためには公開されていない、認証されていないエンドポイントに留まってください。次に、フォロワーハンドル、コメントの著者、プロフィールの詳細は個人データです。GDPRや類似の規制の下で、それを収集し保存するためには合法的な根拠が必要であり、保持するものを最小限にし、明確な理由なしに特定可能な個人のプロフィールを構築することを避けるべきです。集計メトリクス(フォロワー数、エンゲージメント率、ハッシュタグボリューム)は、名前付きの人々のリストよりもはるかに安全です。GDPRと個人データのスクレイピングに関するガイドが詳細をカバーしています - これは実用的なガイダンスであり、法的アドバイスではありません。

よくある質問

アカウントなしでInstagramデータをスクレイピングできますか?

はい、公開データの場合です。ウェブプロフィールエンドポイントは、公開x-ig-app-idヘッダーを送信すると、バイオ、フォロワー数、最近の投稿をJSON形式で返し、ハッシュタグと場所のページはボリュームとメタデータを公開します。フォロワーリスト、いいねをした人、プライベートアカウントは認証されたセッションが必要であり、リサーチのためには避けるべきです。

なぜInstagramは私のスクレイパーをレートリミットし続けるのですか?

あなたはInstagramが信頼しないIPからエンドポイントを速くヒットしすぎています。ランダムな遅延でペースを落とし、同時実行数を制限し、モバイルプロキシに切り替えてください - CGNATモバイルIPは何千もの実際のユーザーと共有されているため、Instagramはデータセンターアドレスよりもブロックが遅くなります。

Instagramデータのスクレイピングは合法ですか?

公開されている非個人データをリサーチのために収集することは一般的にリスクが低いですが、Instagramの規約は自動化を制限しており、個人データはGDPRや類似の法律で管理されています。公開エンドポイントに留まり、保存する個人データを最小限にし、特定可能な個人を大規模に扱う場合は弁護士に相談してください。これは法的アドバイスではありません。

Instagramスクレイピングに最適なプロキシタイプは何ですか?

モバイルプロキシです。CGNATが1つのモバイルIPを多くの実際の加入者にマッピングするため、プラットフォームはそれを禁止することができず、モバイルエグジットは持続的な収集に最も耐久性があります。住宅プロキシは合理的な第二の選択肢です。データセンターIPは最も早くブロックされます。

Instagramの公開データはマーケティングリサーチに非常にアクセス可能です - プロフィール、投稿、ハッシュタグのエンドポイントは依然としてクリーンなJSONを返します。成功を決定する2つの変数はIP(モバイルが勝つ)と抑制(公開データのみ、人間のペース、最小限の個人データ)です。それらを正しく行えば、エンドポイントは開いたままになります。

QuantumProxiesのモバイルプロキシで収集を開始する