jsonscraper
市場
ジャーナルに戻る

検証可能な項目でIGプロフィールをキャンペーン要件と照合する

IG Scraper APIとPythonを使って、アカウント一覧を再現可能なチェックに変える方法

編集方針 誤りを報告する

キャンペーンを開始する前に、ブリーフに記載された各IGアカウントを公開プロフィール情報と自動で照合できます。このチェックによって、ユーザー名の不一致、非公開ステータス、名前や自己紹介の変更、投稿数と想定範囲の不一致を検出できます。結果はマーケター向けのチェック表であり、クリエイターの適格性を自動で判断するものではありません。

記事:検証可能な項目でIGプロフィールをキャンペーン要件と照合する
概要:キャンペーン開始前に公開IGプロフィールを確認しましょう。ユーザー名で情報を取得し、ブリーフと照合して差異をレポートします。欠損データをゼロとして扱わない方法も紹介します。
画像の役割:カバー — 中心となるアイデア
セクション:
ビジュアルの内容:編集写真:デスク上に置かれた印刷済みのインフルエンサーキャンペーンブリーフと簡潔なCSV検証レポート。プロフィールデータはシンプルで中立的なカードで表現。用途
ブリーフの要件を、プロフィールの具体的な公開項目と照合します。© jsonscraper · AIで作成

問題:ブリーフより表計算シートの更新が遅れる

キャンペーンの一覧には、アカウント名、リンク、フォロワー数の目安、公開プロフィールに関する要件を記載できます。しかし、情報は簡単に食い違います。アカウントがユーザー名を変更したり、プロフィールが非公開になったりしても、ブリーフの数値は以前のままかもしれません。プロフィールを一つずつ手動で確認するのは簡単ですが、キャンペーンのたびにアカウント一覧全体で繰り返すと、確認の管理や再現が難しくなります。

有効な方法は、各行に明確なルールを設定し、確認時点で取得できる公開項目を取得して、元の値と実際の値を並べて記録することです。「一致」とは、その項目が特定のルールに合致することだけを意味します。オーディエンスとの適合性やコンテンツの質については、専門家が判断します。

取得するデータ

IG APIのエンドポイント一覧には、必須パラメーターusernameを指定するGET /v1/user/by/usernameエンドポイントが記載されています。確認したレスポンスでは、プロフィール情報はigオブジェクトに含まれています。そこにはユーザー名、氏名、自己紹介、非公開と認証のフラグ、投稿数、フォロワー数、フォロー数が示されています。これらの項目は、取得時点で利用可能なプロフィールのスナップショットを表します。

事前チェックには、アカウント名、公開設定、数値のしきい値を照合するための情報がそろっています。自己紹介は担当者が確認できるよう表示したり、必須語句の有無など単純なルールでチェックしたりできます。このようなテキストフィルターは文字列の一致を検出しますが、それだけで意味を評価したり、契約上の条件が満たされていると確認したりすることはできません。

Pythonにリクエストを組み込む

まず、ライセンスキーをJSONSCRAPER_INSTAGRAM_LICENSE_KEY環境変数に保存します。この例では、確認済みのベースURL、エンドポイント、usernameパラメーター、およびキーのパラメーター名license_keyを使用します。CSVにはusername,min_followers,max_followers,require_publicの各フィールドを含めます。スクリプトは各アカウントについてレスポンスをルールと照合し、確認が必要な行に印を付けます。

import csv
import os
import sys
import requests

BASE_URL = "https://ig.jsonscraper.com"
API_KEY = os.environ.get("JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
if not API_KEY:
    raise SystemExit("Set JSONSCRAPER_INSTAGRAM_LICENSE_KEY")

# brief.csv: username,min_followers,max_followers,require_public
with open("brief.csv", newline="", encoding="utf-8") as source:
    brief = list(csv.DictReader(source))

results = []
for row in brief:
    username = row.get("username", "").strip()
    minimum_text = row.get("min_followers", "").strip()
    if not username or not minimum_text:
        results.append({
            "requested_username": username,
            "needs_review": True,
            "error": "Missing username or min_followers",
        })
        continue

    try:
        response = requests.get(
            f"{BASE_URL}/v1/user/by/username",
            params={"username": username, "license_key": API_KEY},
            timeout=30,
        )
        response.raise_for_status()
        payload = response.json()
        if payload.get("status") != "ok" or not isinstance(payload.get("ig"), dict):
            raise ValueError("Unexpected API response")
        profile = payload["ig"]

        followers = profile.get("follower_count")
        minimum = int(minimum_text)
        maximum_text = row.get("max_followers", "").strip()
        maximum = int(maximum_text) if maximum_text else None
        public_required = row.get("require_public", "").strip().lower() == "true"

        checks = {
            "username_matches": (
                isinstance(profile.get("username"), str)
                and profile["username"].lower() == username.lstrip("@").lower()
            ),
            "followers_in_range": (
                isinstance(followers, int)
                and followers >= minimum
                and (maximum is None or followers

実行方法:python check_profiles.py。requestsライブラリをインストールし、実行環境で環境変数を設定して、brief.csvを同じディレクトリに配置してください。キーをソースコードや出力CSVに記録しないでください。スクリプトは一覧を順番に処理するため、小規模なアカウント群の確認やデバッグに便利です。

欠損データを見える状態に保つ理由

チェックルールでは、値がゼロであることと、項目自体が存在しないことを区別することが重要です。この例では、フォロワー数の項目が数値として存在する場合に限り、条件を満たしたと判断します。カウンターが欠けている場合は条件を確認できないため、手動確認に回します。min_followersのしきい値が空欄の場合も、ゼロに自動変換するのではなく、入力データのエラーとして扱います。

レスポンスの検証もワークフローの一部として記録しておくとよいでしょう。スクリプトはまず外部ステータスがokであることを確認し、次にigオブジェクトの有無を調べます。HTTPエラー、想定外のJSON、不正なルールは、URL内のキーを漏らしかねない例外テキストを含めずにレポートへ記録します。こうすれば、秘密情報を広めることなく、リクエストの失敗とプロフィールの不一致を区別できます。

結果の読み方とチェックの自動化

profile_check.csvには、元のユーザー名、返された名前、利用可能な公開項目、個別条件の判定結果、全体のneeds_reviewフラグが含まれます。チームはこのフラグで行を絞り込み、開発者はレポートをストレージに保存したり、ETLプロセスの次の段階に渡したりできます。定期実行する場合はスケジューラーでスクリプトを起動し、キャンペーンのスナップショットを比較できるよう、実行日を別途保存してください。

記事:検証可能な項目でIGプロフィールをキャンペーン要件と照合する
概要:キャンペーン開始前に公開IGプロフィールを確認しましょう。ユーザー名で情報を取得し、ブリーフと照合して差異をレポートします。欠損データをゼロとして扱わない方法も紹介します。
画像の役割:補足図2 — 異なる具体的側面
セクション:結果の読み方とチェックの自動化
ビジュアルの内容:ロシア語のワークフロー図:CSVブリーフの行 → GET /v1/use
ブリーフの行からレポートに至る流れと、データ欠損時の手動確認を示しています。© jsonscraper · AI生成イラスト

ルールを変更する場合は、コードに埋め込むのではなく、ブリーフに保存してください。そうすれば、しきい値を検証しやすくなり、各行について想定されたフォロワー数の範囲や公開設定の条件を確認できます。自己紹介に指定のテキストが含まれるかをチェックすることもできますが、文字列の一致は専門家による内容の評価に代わるものではありません。

IG Scraper APIのページには、ベースURL、リクエスト例、Postmanへのリンクが掲載されています。上記のシナリオで使用するのは、ユーザー名による確認済みのプロフィール検索だけであり、このリクエストが投稿を返すことは前提としていません。

実務上の成果は、再現可能な事前チェックです。一覧全体を手作業で確認する代わりに、チームはブリーフの具体的な項目に関連付けられた一致と例外の一覧を取得できます。これにより、キャンペーン開始前の確認を効率化しつつ、適合性の判断は責任者に委ねられます。

人々

この記事にはまだ人物がリストされていません。

読み続けてくださいキャンペーン開始前にIGプロフィールをブリーフと照合:APIによる確認
次の記事を読む

読んだ内容を実用的な連携へ

jsonscraperのソーシャルデータAPIを調べ、リクエストを試し、次のワークフローを構築しましょう。

APIを探す