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


当前回答

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

其他回答

以前,在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

很晚了,但这是你想要的答案:

https://api.github.com/repos/ [git username] / [git project] /releases

接下来,在数据中找到您要查找的项目的id。它应该在顶部附近,在url旁边。然后,导航到

https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets

名为download_count的字段就是答案。

编辑:在你的用户名和项目名中大写字母很重要

访问者数量应该可以在你的仪表板>流量(或统计数据或见解):

我最终写了一个scraper脚本来查找我的克隆计数:

#!/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替换为just。看看那些漂亮的印花。

我创建了三个解决方案来获取GitHub版本的下载计数和其他统计数据。这些实现都能够累积GitHub API分页结果,这意味着计算总的下载数量将不是一个问题。

Web应用程序

https://qwertycube.com/github-release-stats/ 可作为PWA使用 支持GitHub API分页

node . js实现

https://github.com/kefir500/github-release-stats 可通过NPM获取 用TypeScript编写,编译成JavaScript 可以用作命令行工具吗 可以作为Node.js模块使用吗 可以在浏览器环境中使用吗 支持GitHub API分页

Python实现

https://github.com/kefir500/ghstats 可通过PyPI获得 可以用作命令行工具吗 可以作为Python模块使用吗 支持GitHub API分页