在Github中,有没有办法可以看到回购的下载次数?
答案 0 :(得分:94)
2017年更新
您仍然可以使用GitHub API至get the download count for your releases(不是完全所要求的内容)
请参阅“Get a single release”,download_count
字段。
不再有交通屏幕提及回购克隆的数量 相反,您必须依赖第三方服务,如:
www.netguru.co/gititback
),但即便如此也不包括克隆数。www.somsubhra.com/github-release-stats,提及below 例如,以下是latest git for Windows release
2014年8月更新
GitHub还在其流量图中提出了回购克隆的数量:
请参阅“Clone Graphs”
2013年10月更新
正如below提到的andyberry88,以及我detailed last July,GitHub现在proposes releases(请参阅its API),has a download_count
field。< / p>
Michele Milidoni中的{p> his (upvoted) answer确实在his python script中使用该字段
(very small extract)
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月)
我不确定您是否可以看到该信息(如果它完全被记录),因为我在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
您只能看到它是否有下载。
答案 1 :(得分:74)
我在javascript中编写了一个small web application,用于显示Github上任何项目的可用版本中所有资产的下载次数。您可以在此处试用该应用程序:http://somsubhra.github.io/github-release-stats/
答案 2 :(得分:12)
GitHub已弃用下载支持,现在支持“版本” - https://github.com/blog/1547-release-your-software。要创建发行版,请使用GitHub UI或创建带注释的标记(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中,因此可能会发生变化。
GitHub的发布API现已超出预览期限,因此不再需要“接受”标头 - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
虽然继续添加'Accept'标题不会有任何损害。
答案 3 :(得分:8)
VISITOR计数应该在您的信息中心&gt;下方提供。流量(或统计数据或见解):
答案 4 :(得分:7)
以前,在Github中有两种下载代码的方法:克隆或下载为zip a .git repo,或上传文件(例如二进制文件)供以后下载。
下载repo(克隆或下载为zip)时,Github不计算技术限制的下载次数。克隆存储库是一种只读操作。无需身份验证。此操作可以通过许多协议来完成,包括HTTPS,网页用于在浏览器中显示repo的相同协议。这很难计算。
请参阅:http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
最近,Github弃用了下载功能。这是因为他们了解Github专注于构建软件,而不是分发二进制文件。
答案 5 :(得分:7)
如前所述,GitHub API返回二进制文件发布的下载次数。我开发了little script以便通过命令行轻松获得下载次数。
答案 6 :(得分:6)
很晚,但这是你想要的答案:
https://api.github.com/repos/ [git username] / [git project] /releases
接下来,在数据中找到您要查找的项目的ID。它应该靠近顶部,在网址旁边。然后,导航到
https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets
名为download_count的字段是您的答案。
编辑:资金在您的用户名和项目名称中很重要
答案 7 :(得分:5)
Github API不再提供所需信息。请查看releases page中提到的Stan Towianski's answer。正如我们在对该答案的评论中所讨论的那样,Github API仅报告他为每个版本提供的三个文件中的一个的下载。
我已经检查过这些问题的其他答案中提供的解决方案。 Vonc's answer提出了Michele Milidoni's solution的重要部分。我使用以下结果安装了他的gdc脚本
# ./gdc stant
mdcsvimporter.mxt: 37 downloads
mdcsvimporter.mxt: 80 downloads
How-to-use-mdcsvimporter-beta-16.zip: 12 downloads
您可以清楚地看到,gdc不会报告tar.gz和zip文件的下载次数。
如果您想在不安装任何内容的情况下进行检查,请尝试web page,其中Somsubhra安装了his answer中提到的解决方案。填写&#39; stant&#39;作为Github用户名和&#39; mdcsvimporter2015&#39;作为存储库名称,您将看到如下内容:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
唉,再次只有一份报告没有下载tar.gz和zip文件。我仔细检查了Github的API返回的信息,但没有在任何地方提供。 API确实返回的download_count现在远未完成。
答案 8 :(得分:3)
我最后编写了一个刮刀脚本来查找我的克隆计数:
#!/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的克隆图使用的相同端点获取数据并从中吐出总数。该数据还包括每日计数,将.summary
替换为.
,以查看那些精美的打印。
答案 9 :(得分:3)
要查看下载发行文件/软件包的次数,可以转到https://githubstats0.firebaseapp.com
它为您提供了总下载次数,以及每个发行标签的总下载量的细分。
答案 10 :(得分:2)
根据VonC和Michele Milidoni的回答,我创建了this bookmarklet,显示了github托管已发布二进制文件的下载统计信息。
注意:由于issues with browsers与内容安全策略实现相关,bookmarklet可能会暂时违反某些CSP指令,并且在启用CSP时在github上运行时基本上可能无法正常运行。
虽然非常气馁,但你可以在Firefox中禁用CSP 临时解决方法。打开about:config并设置security.csp.enable 为假。
答案 11 :(得分:2)
我制作了一个网络应用程序,以干净的格式显示GitHub发布统计信息: https://hanadigital.github.io/grev/
答案 12 :(得分:1)
如前所述,您可以获取有关Releases via the API的信息。
对于那些使用WordPress的人,我开发了这个插件: GitHub Release Downloads 。它允许您获取GitHub存储库版本的下载次数,链接和更多信息。
要解决原始问题,短代码[grd_count user="User" repo="MyRepo"]
将返回存储库的下载次数。此数字对应于一个GitHub存储库的所有版本的所有下载计数值的总和。
示例:
答案 13 :(得分:1)
2019年的答案:
1)对于克隆数,您可以使用https://developer.github.com/v3/repos/traffic/#clones(但请注意,它仅返回最近14天的计数) 2)要获取资产(版本附带的文件)的下载数量,可以使用https://developer.github.com/v3/repos/releases/#get-a-single-release(作为响应的资产列表项的“ download_count”属性完全正确)
答案 14 :(得分:0)
试图使其更清楚:
对于这个github项目:stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
发布时间为
https://github.com/stant/mdcsvimporter2015/releases
转到http或https :(注释已添加&#34; api。&#34;和&#34; / repos&#34;)
https://api.github.com/repos/stant/mdcsvimporter2015/releases
你将得到这个json输出,你可以搜索&#34; download_count&#34;:
"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 --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
答案 15 :(得分:0)
对于那些需要Python解决方案的人,我写了一个简单的脚本。
ghstats.py [user] [repo] [tag] [options]
答案 16 :(得分:0)
这是使用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))
答案 17 :(得分:0)
11 年后...
这是一个用于检索 last 100 release 资产的下载计数的小型 python3 代码段:
import requests
owner = "twbs"
repo = "bootstrap"
h = {"Accept": "application/vnd.github.v3+json"}
u = f"https://api.github.com/repos/{owner}/{repo}/releases?per_page=100"
r = requests.get(u, headers=h).json()
r.reverse() # older tags first
for rel in r:
if rel['assets']:
tag = rel['tag_name']
dls = rel['assets'][0]['download_count']
pub = rel['published_at']
print(f"Pub: {pub} | Tag: {tag} | Dls: {dls} ")
Pub: 2013-07-18T00:03:17Z | Tag: v1.2.0 | Dls: 1193
Pub: 2013-08-19T21:20:59Z | Tag: v3.0.0 | Dls: 387786
Pub: 2013-10-30T17:07:16Z | Tag: v3.0.1 | Dls: 102278
Pub: 2013-11-06T21:58:55Z | Tag: v3.0.2 | Dls: 381136
...
Pub: 2020-12-07T16:24:37Z | Tag: v5.0.0-beta1 | Dls: 93943