获得github观星者数

时间:2014-11-30 22:35:02

标签: github-api

我一直在使用GET /repos/:owner/:repo/stargazers端点,但我注意到它只提供了30位观星者,这对我现在的目的来说还不够。我已切换到搜索API,GET /search/repositories?q=:repoitems[0].stargazers_count),但如果有人创建了20个具有相同名称的repos,该怎么办?我不得不提出多个请求。还有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

/repos/:owner/:repo/stargazers端点是分页的。您可以快速轻松地从该终端获得所有观星者。例如,如果您使用github3.py,它将是3行:

import github3

repo = github3.repository(':owner', ':repo')
stargazers = list(repo.stargazers())

然而,这不能在单个请求中完成(这就是为什么它被分页)。

使用搜索API可能是最便宜的,但您对拥有20个具有相同名称的存储库的单个人的关注是不明智的。单个用户只能拥有一个具有特定名称的存储库。但是,这不应被视为保证不会有多个结果,因此您应该使用不同的查询字符串,例如,

import github3

github3.search_repositories('repo:owner/repo_name')

哪个应该大致转换为

GET /search/repositories?q=repo%3Aowner%2Frepo_name

希望这有帮助

答案 1 :(得分:0)

截至2020年,PyGithub

pip3 install PyGithub

from github import Github
g = Github()
repo = g.get_repo("PyGithub/PyGithub")
repo.stargazers_count