Github:我能看到回购的下载次数吗?
在Github中,有没有办法可以看到回购的下载次数?
2017年更新
交通屏幕不再提到回购克隆的数量。
相反,你必须依赖像GitItBack (在http://www.netguru.co/gititback ) 这样的第三方服务,但即使这样也不包括克隆数量。
您仍然可以使用GitHub API 获取您的发行版的下载计数 (这不完全是要求的)
请参阅“ 获取单个版本 ”,即download_count
字段。
另见http://www.somsubhra.com/github-release-stats , 如下所述 。
例如,这里是最新的Windows版本git的编号
2014年8月更新
GitHub还在其stream量图中提出了回购的克隆数量:
请参阅“ 克隆图 ”
2013年10月更新
正如下面的andyberry88所提到的,正如我在去年7月所详细描述的那样,GitHub现在提供 了一个download_count
字段的 发布版 (请参阅其API )。
Michele Milidoni在他的(upvoted)答案中确实在他的python脚本中使用了这个字段。
( 非常小的提取物 )
c.setopt(c.URL, 'https://api.github.com/repos/' + full_name + '/releases') for p in myobj: if "assets" in p: for asset in p['assets']: print (asset['name'] + ": " + str(asset['download_count']) + " downloads")
原文答复(2010年12月)
我不确定你能看到这些信息(如果它被logging的话),因为我没有在GitHub Repository API中看到它:
$ curl http://github.com/api/v2/yaml/repos/show/schacon/grit --- repository: :name: grit :owner: schacon :source: mojombo/grit # The original repo at top of the pyramid :parent: defunkt/grit # This repo's direct parent :description: Grit is a Ruby library for extracting information from a git repository in an object oriented manner - this fork tries to intergrate as much pure-ruby functionality as possible :forks: 4 :watchers: 67 :private: false :url: http://github.com/schacon/grit :fork: true :homepage: http://grit.rubyforge.org/ :has_wiki: true :has_issues: false :has_downloads: true
你只能看到它是否有下载或没有。
我用JavaScript编写了一个小型Web应用程序 ,用于显示Github上任何项目的可用版本中所有资产的下载次数。 你可以在这里试用这个应用程序: http : //somsubhra.github.io/github-release-stats/
GitHub不赞成下载支持,现在支持'Releases' – https://github.com/blog/1547-release-your-software 。 要创build一个版本,可以使用GitHub UI或创build一个带注释的标签(http:// git-scm.com/book/ch2-6.html),并在GitHub中添加发行说明。 然后,您可以将二进制文件或“资产”上传到每个版本。
一旦你有一些版本,GitHub API支持获取关于它们的信息和他们的资产。
curl -i \ https://api.github.com/repos/:owner/:repo/releases \ -H "Accept: application/vnd.github.manifold-preview+json"
查找“download_count”条目。 更多信息在http://developer.github.com/v3/repos/releases/ 。 这部分API仍处于预览期间的ATM中,因此可能会改变。
2013年11月更新:
GitHub的发布API现在不在预览期间,因此不再需要“Accept”标头了 – http://developer.github.com/changes/2013-11-04-releases-api-is-official/
尽pipe如此,继续添加“Accept”标头也不会有什么坏处。
如前所述,GitHub API返回二进制文件版本的下载计数。 我开发了一个小脚本 ,通过命令行轻松获得下载量。
以前有两种方法在Github下载代码:克隆或下载为zip .git回购,或上传一个文件(例如二进制文件)供以后下载。
下载回购(克隆或下载为zip)时,Github不会计算技术限制的下载次数。 克隆存储库是一个只读操作。 没有authentication要求。 这个操作可以通过很多协议来完成,包括HTTPS,和网页用于在浏览器中显示回购的相同的协议。 数数是非常困难的。
见: http : //git-scm.com/book/en/Git-on-the-Server-The-Protocols
最近,Github不赞成下载function。 这是因为他们知道Github专注于构build软件,而不是分发二进制文件。
请参阅: https : //github.com/blog/1302-goodbye-uploads
截至2014年10月,有访客计数可用:
Github API不再提供所需的信息。 看看Stan Towianski的回答中提到的发布页面 。 正如我们在回答中所讨论的那样,Github API只报告他为每个版本提供的三个文件中的一个的下载。
我已经检查了解决scheme,提供了对这个问题的其他答案。 Vonc的回答是Michele Milidoni解决scheme的重要组成部分。 我安装了他的gdc脚本,结果如下
# ./gdc stant mdcsvimporter.mxt: 37 downloads mdcsvimporter.mxt: 80 downloads How-to-use-mdcsvimporter-beta-16.zip: 12 downloads
您可以清楚地看到,gdc不会报告tar.gz和zip文件的下载计数。
如果你想检查而不安装任何东西,请尝试在Somsubhra安装解决scheme的网页 ,在他的答案中提到。 填入“stant”作为Github用户名和“mdcsvimporter2015”作为Repository名称,您将看到如下内容:
Download Info: mdcsvimporter.mxt(0.20MB) - Downloaded 37 times. Last updated on 2015-03-26
唉,再次只有一个没有下载tar.gz和zip文件的报告。 我仔细检查了Github的API返回的信息,但没有提供任何地方。 API返回的download_count现在还远远没有完成。
很晚,但这是你想要的答案:
https://api.github.com/repos/ [git username] / [git project] /releases/
接下来,在数据中find您正在查找的项目的ID。 它应该靠近顶部,在url旁边。 然后,导航到
https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets
名为download_count的字段是您的答案。
基于VonC和Michele Milidoni的回答,我创build了这个小书签 ,它显示了github托pipe发布的二进制文件的下载统计信息。
注意:由于与内容安全策略实现相关的浏览器问题 ,bookmarklets可能暂时违反一些CSP指令,并且在启用CSP的情况下在github上运行时可能无法正常运行。
尽pipe非常灰心,但是可以禁用Firefox中的CSP作为临时解决方法。 打开about:config并将security.csp.enable设置为false。
我结束了写一个刮板脚本来find我的克隆计数:
#!/bin/sh # # This script requires: # apt-get install html-xml-utils # apt-get install jq # USERNAME=dougluce PASSWORD="PASSWORD GOES HERE, BE CAREFUL!" REPO="dougluce/node-autovivify" TOKEN=`curl https://github.com/login -s -c /tmp/cookies.txt | \ hxnormalize | \ hxselect 'input[name=authenticity_token]' 2>/dev/null | \ perl -lne 'print $1 if /value=\"(\S+)\"/'` curl -X POST https://github.com/session \ -s -b /tmp/cookies.txt -c /tmp/cookies2.txt \ --data-urlencode commit="Sign in" \ --data-urlencode authenticity_token="$TOKEN" \ --data-urlencode login="$USERNAME" \ --data-urlencode password="$PASSWORD" > /dev/null curl "https://github.com/$REPO/graphs/clone-activity-data" \ -s -b /tmp/cookies2.txt \ -H "x-requested-with: XMLHttpRequest" | jq '.summary'
这将从Github的克隆图使用的同一端点获取数据,并从中抽出总数。 数据还包括每日计数,用justreplace.summary
.
看那些漂亮的印刷品。
如前所述,您可以通过API获取有关您的发行版的信息。
对于那些使用WordPress,我开发了这个插件: GitHub发布下载 。 它允许您获取GitHub存储库版本的下载计数,链接和更多信息。
为了解决原始问题,短代码[grd_count user="User" repo="MyRepo"]
将返回存储库的下载数量。 这个数字对应于一个GitHub仓库所有版本下载计数值的总和。
例:
为了使这个更清楚:
对于这个github项目:stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
与发布在
https://github.com/stant/mdcsvimporter2015/releases
去http或https:(注意添加了“api。”和“/ repos”)
https://api.github.com/repos/stant/mdcsvimporter2015/releases
你会得到这个JSON输出,你可以search“download_count”:
"download_count": 2, "created_at": "2015-02-24T18:20:06Z", "updated_at": "2015-02-24T18:20:07Z", "browser_download_url": "https://github.com/stant/mdcsvimporter2015/releases/download/v18/mdcsvimporter-beta-18.zip"
或者在命令行上执行:
wget – 无检查证书https://api.github.com/repos/stant/mdcsvimporter2015/releases
对于那些需要Python解决scheme的人,我写了一个简单的脚本。
Python脚本:
- GitHub下载统计
用法:
ghstats.py [user] [repo] [tag] [options]
- 参数
- 例子
支持:
- 支持Python 2和Python 3开箱即用。
- 可以同时用作独立模块和Python模块。