在Github中,是否有一种方法可以让我看到回购的下载数量?


当前回答

我用javascript写了一个小的web应用程序,用于显示Github上任何项目可用版本中所有资产的下载数量。您可以在这里试用该应用程序:http://somsubhra.github.io/github-release-stats/

其他回答

有一个很好的Chrome扩展,完全做你想要的: GitHub发布下载

如前所述,GitHub API返回二进制文件发布的下载计数。我开发了一个小脚本,通过命令行轻松获得下载计数。

基于VonC和Michele Milidoni的答案,我创建了这个bookmarklet,它显示了github托管发布的二进制文件的下载统计数据。

注意:由于浏览器与内容安全策略实现相关的问题,bookmarklet可能会暂时违反一些CSP指令,并且在启用CSP时在github上运行时基本可能无法正常工作。

虽然这是非常不鼓励的,你可以禁用CSP在Firefox作为 临时的解决方案。打开about:config并设置security.csp.enable 为假。

以前,在Github中有两种下载代码的方法:克隆或作为zip下载一个.git repo,或上传一个文件(例如,二进制文件)供以后下载。

当下载一个回购(克隆或下载压缩),Github不计算下载数量的技术限制。克隆存储库是一个只读操作。不需要身份验证。这个操作可以通过许多协议来完成,包括HTTPS, web页面在浏览器中显示回购时使用的协议。很难数出来。

参见:http://git-scm.com/book/en/Git-on-the-Server-The-Protocols

最近,Github弃用了下载功能。这是因为他们明白Github专注于构建软件,而不是分发二进制文件。

参见:https://github.com/blog/1302-goodbye-uploads

这里是一个使用pip install PyGithub包的python解决方案

from github import Github
g = Github("youroauth key") #create token from settings page


for repo in g.get_user().get_repos():
    if repo.name == "yourreponame":
        releases = repo.get_releases()
        for i in releases:
            if i.tag_name == "yourtagname":
                for j in i.get_assets():
                    print("{} date: {} download count: {}".format(j.name, j.updated_at, j._download_count.value))