【问题标题】:Get follower count on Scratch (API)在 Scratch (API) 上获取关注者数量
【发布时间】:2019-04-24 21:28:42
【问题描述】:

我正在寻找使用 Scratch API 的 Scratch 用户的关注者数量。我已经知道如何使用https://api.scratch.mit.edu/users/[USER]/messages/count/ 获取他们的消息数。

【问题讨论】:

  • 我想添加一个 [scratch-api] 标签,但它不存在并且我没有创建它的权限。如果有超过 1500 名声望的人看到这个,请制作标签并通过回复此评论通知我。

标签: mit-scratch


【解决方案1】:

此答案针对 Scratch REST API,记录在 here

您可以通过请求用户的关注者来获得他们:https://api.scratch.mit.edu/users/some_username/following,其中some_username 将替换为实际用户名。

这将返回 0 到 20 个结果(20 是 REST API 返回的对象的默认限制)。如果结果少于 20 个,那么您就完成了。追随者的数量只是返回对象的数量。

如果返回了 20 个对象,我们不能确定我们已经请求了用户的所有朋友,因为可能还会有更多。因此,我们通过提供 ?offset= 参数跳过该用户的前 20 个关注者:https://api.scratch.mit.edu/users/some_username/following?offset=20

这将检索朋友的第二个“页面”。现在我们简单地循环上述过程,每次将 offset 增加 20,直到返回少于 20 个结果或没有返回结果。该用户的好友数为返回对象的累计数。

【讨论】:

    【解决方案2】:

    正如 _nix 在this forum thread 上提到的,目前没有 API 可以实现这一点。但是,他/她正确地指出,可以从用户的个人资料页面获取该号码。

    您可以编写一个脚本(例如在 JavaScript 中)来解析 HTML 并在页面顶部的括号中获取关注者数量。

    希望这会有所帮助!

    【讨论】:

    • 谢谢。我试图不走那条路,但我想我必须这样做。
    • 好吧,它不允许我这样做,因为跨域框架。
    • 啊,我没有意识到这一点。目前我想不出任何其他方法来做到这一点,但如果我想出办法,我一定会告诉你的。如果您自己找到解决方法,请告诉我。我很想知道它是如何实现的!
    • 嗯,我在讨论区做了一个话题:scratch.mit.edu/discuss/topic/351268
    • 等一下,Python中可能有办法。如果有我会编辑的。 编辑:找到了! pastebin.com/LnaA25S9
    【解决方案3】:

    Python中有一个解决方案:

    import requests
    import re
    def followers(self,user):
       followers = int(re.search(r'Followers \(([0-9]+)\)', requests.get(f'https://scratch.mit.edu/users/{user}/followers').text, re.I).group(1))
       return f'{followers} on [scratch](https://scratch.mit.edu/users/{user}/followers)'
    

    归功于12944qwerty,在他的code 中(已修改为删除一些特定于实现的东西)。

    【讨论】:

      【解决方案4】:

      使用 ScratchDB

      var user = "username here";
      fetch(`https://scratchdb.lefty.one/v3/user/info/${user}`).then(res => res.json()).then(data => {
          console.log(`${user} has ` + data["followers"].toString() + " followers");
      }
      

      (编辑:这是 javascript 顺便说一句,我更喜欢 Python,但 Python 没有 cloud.set 函数,我就是这样做的)

      【讨论】:

        【解决方案5】:

        https://api.scratch.mit.edu/users/griffpatch/followers

        这给出了追随者的名字、scratch 状态(scratch 团队与否)、pfp、他们个人资料中的所有内容

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 2013-07-01
        • 2022-08-21
        • 1970-01-01
        • 2015-03-14
        • 1970-01-01
        • 2014-08-13
        • 1970-01-01
        • 2019-03-07
        • 1970-01-01
        相关资源
        最近更新 更多