使用Instagram API获取所有关注者

使用Instagram API获取所有关注者,api,pagination,instagram,Api,Pagination,Instagram,我正在使用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\u url

我正在使用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\u url
键,但是在处理成千上万的关注者时,继续进入下一页会变得很耗时


我在StackOverflow上读到,将
count
参数设置为
-1
将返回整个集合。但是,Instagram似乎并没有限制API中返回的各种端点的结果数量,他们在没有警告的情况下任意更改这些限制,大概是为了处理服务器负载

存在几个类似的线程:

  • (也请参见答案上的注释,
    -1
    返回的结果少1个)
简言之,您将无法增加最大返回行数,并且将无法分页

$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": "casadojulio",
    "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": 25,
      "follows": 12
    },
    "id": "1066376857"
  }
}
以及:


如果API是可选的

使用推特的移动版本,您可以使用非常简单的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
#/bin/bash
计数器=1
wget--加载cookies./twitter.cookies-O--https://mobile.twitter.com/$1/追随者?”>第页
直到[$counter=0];做

猫页| grep-i“@”| grep-vi“全名”| grep-vi“$1”| awk-F”>“{print$5}”| awk-F”“我个人建议将Wizboost用于instagram自动化。原因是我用过这个工具,我的经验是惊人的。它给了我很多追随者。现在,你不需要花时间与其他Instagram账户竞争,因为Wizboost已经为你赢得了支持,事实上,一切都是如此。你不需要做任何事情,只要放松,Wizboost就会吸引你的追随者、喜欢和评论。你也可以安排你的帖子。非常容易使用,仍然有很大的潜力。我只是喜欢Wizboost提供的所有服务。

好的。好吧,如果我要使用分页链接,那么我如何通过删除每组100个追随者来获得所有追随者?非常非常缓慢。。。在循环中,每次收到响应时都必须调用该URL,直到没有更多结果为止。统计程序就是这样做的。对于大量用户,这可能需要很长的时间,您必须注意标题中的
x-ratelimit
。Hi@user3337874。您可能想从帮助中心了解如何给出好的答案-我们在这里尝试通过良好的解释来鼓励高质量的答案,而不仅仅是大量的代码。您能否介绍一下代码是如何解决用户问题的。这看起来几乎与。
./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