【问题标题】:Can I do a Ranking script with instagram Followers count我可以用 instagram 关注者计数做一个排名脚本吗
【发布时间】:2016-02-04 08:39:30
【问题描述】:

我的网站上已有排名系统

    $result = mysql_query("SELECT   `page`,`img`,`Name`,`item`, (`totalrate` / `nrrates`),
         @rank_count := @rank_count + (totalrate/nrrates < @prev_value) rank,
         @prev_value := totalrate/nrrates avg
FROM     rtgitems, (SELECT @prev_value := NULL, @rank_count := 1) init
WHERE item REGEXP 'Total' ORDER BY avg DESC LIMIT 0,1

我想对几位选定名人的 Instagram 关注者数量进行排名 并根据拥有最多 Instagram 关注者的人对其进行排名

  1. 可以这样做吗?

  2. 请求数量有限制吗?例如,我可以让 100-1000 位名人排名

【问题讨论】:

    标签: php mysql instagram ranking


    【解决方案1】:
    1. 是的,这是可能的。但并非只有一个 Instagram API 请求。

    2. 不幸的是,每个请求只能获取一个用户信息。如果您需要 100-1000 位名人,您应该组织此列表(使用 instagram id)并通过它执行循环以使用此端点对 Instagram API 执行 100-1000 个请求:

    https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN

    响应将如下所示

    {
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
    }
    

    您应该为每个用户保存 data->counts->followed_by,然后执行按这些数字排序的查询。

    我建议在请求之间设置一点等待时间(sleep(t) in php)以避免 Instagram 将您的请求理解为 DOS 攻击并阻止您。

    1. 你没有问,但你可能只知道名人的用户名。要获取他们的 Instagram ID,您需要使用此端点使用确切的用户名搜索用户:

    https://api.instagram.com/v1/users/search?q={username}&access_token=ACCESS-TOKEN

    考虑到您使用的是准确的用户名,第一个结果将是您要查找的用户。响应将如下所示(使用 q=jack):

    {
    "data": [{
        "username": "jack",
        "first_name": "Jack",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
        "id": "66",
        "last_name": "Dorsey"
    },
    {
        "username": "sammyjack",
        "first_name": "Sammy",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg",
        "id": "29648",
        "last_name": "Jack"
    },
    {
        "username": "jacktiddy",
        "first_name": "Jack",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg",
        "id": "13096",
        "last_name": "Tiddy"
    }]
    }
    

    data[0]->id 保存到您的数据库中,以便稍后执行用户信息请求。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2019-07-11
      相关资源
      最近更新 更多