在 Scratch 上获取关注者数量 (API)
Get follower count on Scratch (API)
我正在寻找使用 Scratch API 的 Scratch 用户的关注者数量。我已经知道如何使用 https://api.scratch.mit.edu/users/[USER]/messages/count/
.
获取他们的消息数
正如 _nix 在 this forum thread 上提到的,目前没有 API 可以实现这一点。但是,he/she 正确地指出可以从用户的个人资料页面获取该号码。
您可以编写一个脚本(例如在 JavaScript 中)来解析 HTML 并在页面顶部的括号中获取关注者数量。
希望对您有所帮助!
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, in his code(适用于删除一些特定于实现的内容)。
此答案针对 Scratch REST API,记录在案 here。
您可以通过请求获得用户的关注者:https://api.scratch.mit.edu/users/some_username/following
其中 some_username
将替换为实际用户名。
这将 return 0 到 20 个结果(20 是 REST API 编辑的对象的默认限制 return)。如果少于 20 个结果,那么您就完成了。追随者的数量只是对象的数量 returned.
如果 returned 有 20 个对象,我们不能确定我们已经请求了所有用户的朋友,因为可能还会有更多对象。因此,我们通过提供 ?offset=
参数跳过该用户的前 20 个关注者:https://api.scratch.mit.edu/users/some_username/following?offset=20
这将检索第二个 'page' 朋友。现在我们简单地循环执行上述过程,每次将偏移量递增 20,直到少于 20 个结果被 returned 或没有结果被 returned。该用户的好友数量是对象的累计数 returned.
使用 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 函数,我就是这样做的)
https://api.scratch.mit.edu/users/griffpatch/followers
这会给出追随者姓名、scratch 状态(scratch 团队与否)、pfp、他们个人资料中的所有内容
使用 ScratchDB(我使用的是 httpx,但你可以 GET
使用任何东西):
import httpx
import json
user = "griffpatch"
response = httpx.get(f"https://scratchdb.lefty.one/v3/user/info/{ user }")
userData = json.loads(response.text)
followers = userData["statistics"]["followers"]
我正在寻找使用 Scratch API 的 Scratch 用户的关注者数量。我已经知道如何使用 https://api.scratch.mit.edu/users/[USER]/messages/count/
.
正如 _nix 在 this forum thread 上提到的,目前没有 API 可以实现这一点。但是,he/she 正确地指出可以从用户的个人资料页面获取该号码。
您可以编写一个脚本(例如在 JavaScript 中)来解析 HTML 并在页面顶部的括号中获取关注者数量。
希望对您有所帮助!
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, in his code(适用于删除一些特定于实现的内容)。
此答案针对 Scratch REST API,记录在案 here。
您可以通过请求获得用户的关注者:https://api.scratch.mit.edu/users/some_username/following
其中 some_username
将替换为实际用户名。
这将 return 0 到 20 个结果(20 是 REST API 编辑的对象的默认限制 return)。如果少于 20 个结果,那么您就完成了。追随者的数量只是对象的数量 returned.
如果 returned 有 20 个对象,我们不能确定我们已经请求了所有用户的朋友,因为可能还会有更多对象。因此,我们通过提供 ?offset=
参数跳过该用户的前 20 个关注者:https://api.scratch.mit.edu/users/some_username/following?offset=20
这将检索第二个 'page' 朋友。现在我们简单地循环执行上述过程,每次将偏移量递增 20,直到少于 20 个结果被 returned 或没有结果被 returned。该用户的好友数量是对象的累计数 returned.
使用 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 函数,我就是这样做的)
https://api.scratch.mit.edu/users/griffpatch/followers
这会给出追随者姓名、scratch 状态(scratch 团队与否)、pfp、他们个人资料中的所有内容
使用 ScratchDB(我使用的是 httpx,但你可以 GET
使用任何东西):
import httpx
import json
user = "griffpatch"
response = httpx.get(f"https://scratchdb.lefty.one/v3/user/info/{ user }")
userData = json.loads(response.text)
followers = userData["statistics"]["followers"]