web-dev-qa-db-ja.com

InstagramAPIを使用してすべてのフォロワーを獲得する

Instagram APIを使用して、特定のアカウントをフォローしているユーザーの数を次のように取得しています。

$follow_info = file_get_contents('https://api.instagram.com/v1/users/477644454/followed-by?access_token=ACESS_TOKEN&count=-1');
$follow_info = @json_decode($follow_info, true);

これにより、50件の結果のセットが返されます。配列にはnext_urlキーがありますが、数万を処理する場合、フォロワーの次のページに進み続けるのは時間がかかります。

StackOverflowで、countパラメーターを-1に設定するとセット全体が返されることを読みました。しかし、そうではないようです...

8
Lance

Instagramは、あらゆる種類のエンドポイントに対してAPIで返される結果の数を制限しており、おそらくサーバーの負荷を処理するために、警告なしにこれらの制限を任意に変更します。

同様のスレッドがいくつか存在します。

つまり、返される最大行数を増やすことはできず、ページ付けが滞ります。

9
brandonscript
$follow_info = file_get_contents('https://api.instagram.com/v1/users/USER_ID?access_token=ACCES_TOKEN');
$follow_info = json_decode($follow_info);
print_r($follow_info->data);

そして:

return
{
  "meta":  {
    "code": 200
  },
  "data":  {
    "username": "i_errorw",
    "bio": "A Casa do Júlio é um espaço para quem gosta da ideia de cuidar da saúde com uma alimentação saudável e saborosa.",
    "website": "",
    "profile_picture": "",
    "full_name": "",
    "counts":  {
      "media": 5,
      "followed_by": 10,
      "follows": 120000
    },
    "id": "1066376857"
  }
}
0
user6394489

aPIがオプションの場合

モバイル版のTwitterを使用すると、非常に単純なbashスクリプトを使用して、設計されたターゲットのフォロワーの完全なリストを抽出できます。

一時的なIPブロックを回避するために、スリープ時間を慎重に選択する必要があります

スクリプトは次の方法で実行できます。

./scriptname.sh targetusername

コンテンツ

   #!/bin/bash

    counter=1 

    wget --load-cookies ./Twitter.cookies -O - "https://mobile.Twitter.com/$1/followers?" > page 


    until [ $counter = 0 ]; do

    cat page | grep -i "@" | grep -vi "fullname" | grep -vi "$1" | awk -F">" '{print $5}' | awk -F"<" '{print $1}' >> userlist

    nextpage=$(cat page | grep -i "cursor" | awk -F'"' '{print $4}')

    wget --load-cookies Twitter.cookies -O - "https://mobile.Twitter.com/$nextpage" > page

    if [ -z $nextpage ]; then 

    exit 0

    fi

    sleep 5 

    done

設計されたターゲットに続くすべてのユーザー名を含むファイル「userlist」を1行ずつ作成します

PS:リクエストを認証するためにwgetを実行するには、資格情報が入力されたCookieファイルが必要です

0
Amoxocillina

私は個人的に、Instagramの自動化にWizboostを使用することをお勧めします。そしてその理由は、私がこのツールを使用したことがあり、私の経験が素晴らしいからです。それは私にたくさんのフォロワーを与えました。 Wizboostがこれに、実際にはすべてに戻ってきたので、他のInstagramアカウントとの競争に時間を費やす必要はありません。リラックスできることは何もする必要はありません。Wizboostがフォロワー、いいね、コメントを取得します。また、投稿をスケジュールすることもできます。とても使いやすく、それでも多くの可能性を秘めています。 Wizboostのすべてのサービスが大好きです。

0
Maddy Monroe