我想用一个主题的所有存储库的列表来更新一个README.md。在使用提交更改(自动使用脚本)编写和更新之前,我希望获得给定主题的所有字符串和repo URL。我将保存每次执行脚本的日期。
我找到了一种方法来获取存储库的所有主题,而不是某个主题的所有存储库: V3接口中的https://developer.github.com/v3/repos/#list-all-topics-for-a-repository
此外,似乎有“相关主题”或类似的主题具有同义词或不同的打字错误。
示例:https://github.com/search?q=abap&type=Topics
如何获取给定主题(及其相关主题)的所有repo URL,以便更新readme.me文件和(以确定新的repo)?
发布于 2019-10-04 23:49:29
这里有两种方法可以实现这一点:
1. CURL:
curl -H "Accept: application/vnd.github.mercy-preview+json" "https://api.github.com/search/repositories\?q\=topic:XYZ"
显然,如果您的存储库是私有的,您可以使用-u
添加您的令牌或github用户名和密码。
Python 2.:
有一个名为PyGithub的库,它基本上使用了大多数githhub开发人员应用程序接口,并将它们转换为python函数。
下面是一些代码:
import github
g = Github("YOUR_GITHUB_TOKEN")
topic = 'php'
ORGANIZATION = 'your_github_org_name'
repos = g.search_repositories(query=f'topic:{topic} org:{ORGANIZATION}')
for repo in repos:
print(repo)
我写了一个很长的函数,它也做了很多其他的检查,但这是一个基本的函数,它将得到你想要的东西(显然你可以修剪返回的repos的名称,等等)
希望这能有所帮助。干杯。
发布于 2018-08-19 05:58:03
首先,我找到了pagination的帮助,可以在几个页面中爬行。
https://stackoverflow.com/questions/51912862
复制相似问题