是否有可能在Instagram中获得其他页面关注者数量?我只能得到我的个人资料关注者数量,但我也希望得到其他关注者? (例如在php中)
有任何想法吗?
是的,有可能使用返回json的?__a=1
查询。
$otherPage = 'nasa';
$response = file_get_contents("https://www.instagram.com/$otherPage/?__a=1");
if ($response !== false) {
$data = json_decode($response, true);
if ($data !== null) {
$follows = $data['graphql']['user']['edge_follow']['count'];
$followedBy = $data['graphql']['user']['edge_followed_by']['count'];
echo $follows . ' and ' . $followedBy;
}
}
跳过篮球以获得批准快速检查关注者计数的应用程序似乎过多,所以我在Instagram的网络搜索上查看了网络请求,并看到在搜索框中输入会触发对此URL的请求:
https://www.instagram.com/web/search/topsearch/?query={searchquery}
这将返回一个JSON提要,其中包含一组用户信息,包括follower_count的值。如果您已登录,则结果将根据您的帐户的相关性进行加权,但您无需进行身份验证,甚至无需登录即可获得结果:
{
"has_more": false,
"status": "ok",
"hashtags": [],
"users": [
{
"position": 0,
"user": {
"username": "thenativepaul",
"has_anonymous_profile_picture": false,
"byline": "457 followers",
"mutual_followers_count": 0.0,
"profile_pic_url": "https://scontent-lhr3-1.cdninstagram.com/t51.2885-19/11373838_482400848607323_1803683048_a.jpg",
"full_name": "Paul Almeida-Seele",
"follower_count": 457,
"pk": 21072296,
"is_verified": false,
"is_private": false
}
},
{
"position": 1,
"user": {
"username": "the_native_warrior",
"has_anonymous_profile_picture": false,
"byline": "251 followers",
"mutual_followers_count": 0.0,
"profile_pic_url": "https://scontent-lhr3-1.cdninstagram.com/t51.2885-19/s150x150/14473927_312669442422199_4605888521247391744_a.jpg",
"profile_pic_id": "1352745514521408299_1824600282",
"full_name": "Paul Carpenter",
"follower_count": 251,
"pk": 1824600282,
"is_verified": false,
"is_private": true
}
}
],
"places": [ ]
}
使用雅虎查询语言
https://query.yahooapis.com/v1/public/yql?q=select * from html where url='https://www.instagram.com/USERNAME/' and xpath='/html/body/script[1]'&format=json
您可以获得任何用户的关注者数量,但您无法获得用户的关注者详细信息,您只能获得您的关注者列表。
这是获取任何用户的关注者数量的API:
https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN
https://www.instagram.com/developer/endpoints/users/#get_users
更新:我注意到没有用,我只是尝试了这个:https://api.instagram.com/v1/users/self/?access_token=XXXXX并得到了一些很好的信息...... MQ
有一些分析工具可以让您在没有自己的访问令牌的情况下获得关注者计数。如果您登录Crowdbabble并添加Instagram帐户,您将被要求登录您的Instagram帐户。之后,您可以添加任何Instagram帐户并获得关注者数量。这将为您提供任何帐户的关注者列表,最吸引人的关注者和最有影响力的关注者。
如果您申请Instagram API(现在需要书面申请和视频提交),您可以自己设置这样的应用程序。您只需使用一个访问令牌即可拨打不同的帐户。
我用过雅虎API,在我的情况下,我想到这样,
希望这有助于某人,因为我为此搜索了很多。
$url = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url=%27https://www.instagram.com/USERNAME/%27%20and%20xpath=%27/html/body/script[1]%27&format=json";
$json = file_get_contents($url);
$obj = json_decode($json, true);
$content = $obj['query']['results']['script']['content'];
$content = str_replace("window._sharedData =", "", $content);
$content = str_replace(";", "", $content);
$content = trim($content);
$json = json_decode($content);
$instagram_follower_count = $json->entry_data->ProfilePage{0}->user->followed_by->count;
有谁知道更好的方法直接使用JSON对象,而不替换特殊字符?如果是,请纠正我。