获取所有公共用户贡献,又名“日历数据”(github api v3)

2023-12-02

我发现了很多线程——甚至有几个项目使用 github api 之外的 api 嵌入了贡献日历——但这些方法或线程都没有真正回答这个问题。一个接近但这是不行的。

我只是想获取用户的贡献总数,如 github 个人资料页面上的日历所示,如下所示......

enter image description here

api 文档描述了收集 Repo Contrib 数据,因此我尝试用有根据的猜测盲目地尝试 api,但没有成功。有谁知道这个数据实际上是否有一个可行的端点?我真的需要自己计算这些信息还是做一些肮脏的 html 抓取废话?这看起来很愚蠢...有人吗?

更新: 这是一个使用 Cheerio 和 regex 的解决方案,适合任何寻求快速网络抓取解决方案的人

const axios = require('axios')
const cheerio = require('cheerio')
const url = 'https://github.com/archae0pteryx'

function getCommits(url) {
    return new Promise((resolve, reject) => {
        axios.get(url).then(res => {
            const load = cheerio.load(res.data)
            const parsed = load('div.js-contribution-graph > h2').text()
            const reg = /\d+/g
            const x = parsed.match(reg)
            resolve(x)
        }).catch(err => reject(err))
    })
}


getCommits(url)
    .then(x => console.log(x))
    .catch(err => console.error(err))

使用 GraphQL v4

如果使用GraphQL API是一个选项,您可以使用贡献连接获取特定时间段内的贡献总数:

{
  viewer {
    contributionsCollection(from: "2020-01-01T00:00:00", to: "2020-12-01T00:00:00") {
      contributionCalendar {
        totalContributions
      }
    }
  }
}

output :

{
  "data": {
    "viewer": {
      "contributionsCollection": {
        "contributionCalendar": {
          "totalContributions": 118
        }
      }
    }
  }
}

解析日历 svg

您可以使用xmlstarlet解析从日历 svg 获取的 XML 文件:https://github.com/users/archae0pteryx/contributions.

比抓取 GitHub 网站更好,但仍然无法使用官方 API:

curl -s "https://github.com/users/archae0pteryx/contributions" | \
     xmlstarlet sel -t -v "sum(//svg/g/g/rect/@data-count)"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取所有公共用户贡献,又名“日历数据”(github api v3) 的相关文章

  • git 分叉是如何工作的?

    所以我登录了 github 并 fork 了一个项目 每次原始存储库更新时 我的分叉存储库都会更新吗 或者我应该每次都从原始存储库进行分叉 这样我就不会错过对原始存储库所做的任何新更改 分叉是存储库的副本 分叉存储库允许您自由地尝试更改 而
  • 有没有办法将 Jenkins 与 Github Pull 请求结合使用?

    我希望 Jenkins 自动查找并运行属于开放拉取请求一部分的每个分支的测试套件 我还没有找到一些 Jenkins 插件 这可能吗 最近发布了一个新插件Jenkins Github 拉取请求构建器 https wiki jenkins ci
  • Github 版本如何生成存档文件名?

    我刚刚在 github 上为我的 NFQL 软件创建了版本 这是发布页面 https github com vbajpai nfql releases https github com vbajpai nfql releases 对于最新版
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • git 克隆错误:致命:git upload-pack:由于远程端可能的存储库损坏而中止

    我对 git 存储库具有读 写访问权限 但是当我尝试 git clone 时 出现以下错误 x ubuntu temp git clone email protected cdn cgi l email protection Corp ap
  • 使用curl登录并获取会话

    你好 我需要以某种方式获得最高区域的兴趣和随着时间的推移的兴趣 或更好 所以我发现我们必须登录才能导出数据有人可以给我一个使用我们的谷歌用户名和密码执行此操作的示例吗 也许使用curl来导出数据 或者是其他东西 感谢您的关注 亚当 拉马丹
  • 由于不存在大文件而导致 git Push 错误

    当尝试推送到 git 时 我不断得到相同的结果 Counting objects 78 done Delta compression using up to 4 threads Compressing objects 100 67 67 d
  • 在golang中获取TTFB(第一个字节的时间)值

    我正在尝试获取 TTFB 值和 Connect 值 c exec Command curl w Connect time connect TTFB time starttransfer Total time time total o dev
  • 如何使用 GitHub API 一次检索多个用户?

    我能够获取单个用户 或自某个时间戳以来创建的所有用户 或者与 GitHub API 进行某些搜索匹配的位置 https developer github com v3 users get a single user https develo
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 将 github 上的包安装到 Spyder 中

    我一直在尝试安装并导入mpl finance来自 github 的包 在我的 Spyder 环境中没有成功 我努力了 pip install e git https github com matplotlib mpl finance git
  • 如何将单引号转义为双引号转义为单引号

    以下是符合此描述的命令行示例 curl http dumbdomain com solr collection2 update json H Content type application json d add doc uid 79729
  • 如何签出仅在“git ls-remote”中列出的分支?

    我遇到了无法切换到仅列出的分支的情况git ls remote 这是详细信息 我分叉了一个 github repoA 作为 repoB 创建了自己的分支并将其推送到 ComputerA 中的 repoB 在 ComputerB 中 我将分叉
  • Github:我的仓库登陆页面上缺少“设置”菜单

    设置 菜单应该是最后一个菜单 位于 图形 菜单之后 没有 设置 菜单会影响我设置 Webhook 的能力 是的 这是我的仓库 我拥有它 landing page of my test repo travis repo 我今天也遇到了同样的问
  • 使用 Github Actions 进行部署

    我在用Github作为我的源代码控制 并使用Github 操作作为我的 CI CD 解决方案 我在某处有一个专用的 Windows Server 它接受发表我的仓库的版本 我有一个 Github Action 它可以构建 测试 发布和部署
  • Github 操作错误地认为变量是秘密,因此不设置输出

    我的工作流程文件中的一个步骤将返回我的 aws 账户中 EC2 实例的一些 ID 然后我将这些 ID 设置为 github 输出 以便在我的工作流程文件中的其他作业中使用 我在许多工作流程中都这样做了 步骤将返回如下内容 i 0d945b0
  • Git 删除其他人从远程所做的最后提交

    所以 我的情况是 错误地 我已经授予某人对我的分支的承诺 现在 在我的本地 我已经进行了提交 当我尝试将其推送到远程时 它显示远程在前面 因为对方已经将他的代码推送到了这个分支并进行了多次提交 现在 我可以从远程删除这些提交而不将拉取到本地
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • GitHub API 超出限制:如何提高前端应用程序的速率限制

    在向 GitHub API 发出一些 HTTP 请求后 它开始拒绝调用 并显示 xxx xxx xxx xxx 超出 API 速率限制 但是这里有一个好处 新闻 经过身份验证的请求获得更高的速率限制 查看 文档以获取更多详细信息 现在 有一
  • Rails 基本 Base64 身份验证

    我正在尝试复制此 GET curl 请求 curl D X GET H Authorization Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2Nl

随机推荐

  • robots.txt 中没有索引

    我总是阻止谷歌使用 robots txt 文件为我的网站建立索引 最近我读到了谷歌员工的一篇文章 他说你应该使用元标签来做到这一点 这是否意味着 Robots txt 不起作用 由于我正在使用 CMS 我的选择非常有限 并且仅使用 robo
  • 在 C# 中操作 Word 2007 文档 XML

    我正在尝试用 C 操作 Word 2007 文档的 XML 我已经设法找到并操作我想要的节点 但现在我似乎不知道如何将其保存回来 这是我正在尝试的 Open the document from memoryStream Package pk
  • 为什么我必须在自执行匿名函数之前添加分号? [复制]

    这个问题在这里已经有答案了 大多数情况下 Javascript 允许我们在语句末尾省略分号 然而 有趣的是 在这种情况下并非如此 var x 5 asdf function window alert Yay 除非我们在 anon 函数之前的
  • iOS 8 - 无法安装企业应用程序

    我们公司有一个应用程序 可以使用 Enterprise Distribution 通过网站下载 在 iOS 8 Beta 5 中 点击下载链接会弹出预期的弹出窗口 网站 想要安装 应用程序名称 在该对话框上点击 安装 首先会导致应用程序陷入
  • 如何将 Android 上的 SQLite 数据库备份/恢复到 Dropbox

    我目前正在开发一个使用 SQLite 数据库的 Android 应用程序 我正在寻找如何在 Dropbox 等外部服务之间备份 恢复数据库的想法 我已经进行了一些解释 如下所示 Android备份 恢复 如何备份内部数据库 在android
  • 该方法必须返回 int 类型

    public int computeStyle String season if season equals summer if this style equals toque return 8 if this style equals s
  • 将目录附加到 Windows 中的 PATH 环境变量

    所以 我有这个批处理文件 据说它将我的脚本附加到路径变量中 echo OFF setx path path cd script py 但我遇到了一些问题 附加我的 script py 将导致路径大于 1024 个字符 从而输出警告 警告 保
  • 如何在 dagger 2.10 中创建自定义作用域模块

    我正在尝试将公司应用程序迁移到 dagger 2 10 和AndroidInjector inject方法 但我想我发现了一个问题 该应用程序使用自定义作用域 就像登录功能一样 它有 3 个活动 每个活动都有自己的 dagger 模块 和一
  • 为什么双重检查锁定中使用易失性

    From 头先设计模式手册中 具有双重检查锁定的单例模式已实现如下 public class Singleton private volatile static Singleton instance private Singleton pu
  • 在 Windows 上使用 JDK 1.4 监控 Tomcat 5.5

    根据这个文档http tomcat apache org tomcat 5 5 doc monitoring html Enabling JMX Remote应该可以远程监控在 JDK 1 4 上运行的 Tomcat 5 5 服务器 但在搜
  • SQL/Windows 操作系统释放未使用的空间

    我最近对我的数据进行了一些归档 并执行了以下操作 我的数据库表包含超过 3300 万条记录 其中许多是重复的 我备份了表并将唯一数据插入到新表中 然后重命名 交换表名称 这实现了我所需要的 然而现在我只剩下两张桌子了 Table1 良好 活
  • UIImageencodeWithCoder 可以识别的选择器吗?

    我收到此错误 但我不知道如何修复它 我刚刚添加了 Apple 示例 LazyTableImages 中的延迟加载以及照片位置示例项目中的 UIImageToDataTransformer 类 2011 07 08 UIImage encod
  • 以 PHP 计算利率

    我正在尝试计算给定初始贷款金额 还款次数和还款金额的贷款利息 我似乎无法使用基本公式获得足够接近的数字 因此我一直在尝试使用牛顿拉夫森方法 可以在此处看到该方法的使用 http www efunda com formulae finance
  • “clear:both”和“overflow:hidden”是否以相同的方式使容器包裹浮动子项?

    我有一个带有浮动儿童的 div 我知道我可以通过以下两种方式拉伸高度 container border 2px solid ccc margin bottom 250px container 2 after content display
  • 如何以编程方式卸载应用程序

    I tried this this以编程方式卸载应用程序 我没有收到任何错误或异常 但该应用程序未从我的计算机上卸载 另请参阅尝试过的代码 public static string GetUninstallCommandFor string
  • 尝试在不允许该表的页面上插入记录

    当尝试从扩展程序创建新记录时 我收到上面的消息 尝试在不允许该表的页面上插入记录 我尝试在其中创建记录的 页面 是 sysfolder 而不是页面 t3lib extMgm allowTableOnStandardPages user my
  • 使用 openSSL 在 PHP 中加密(大)文件

    我正在尝试使用 AES 加密 PHP 中的 大 文件 并研究了使用 Mcrypt 和 OpenSSL 问题是到目前为止我发现的所有解决方案都只加密字符串 而我尝试加密的文件将触发最大PHP 的内存限制 不幸的是不能设置得更高 我将如何实现这
  • 以编程方式读取资源字符串

    我大约有 6 个 dll 没有源代码 它们不包含任何逻辑 而只是包含字符串表的 resx 文件 有没有一种方法可以从每个 dll 的字符串表中提取 Id 和值并将其导出到文本文件 知道程序集名称和资源文件 您可以使用反射加载它 Resour
  • 在 MySql 中检测日期是否处于夏令时

    我继承了一个遗留应用程序 其中所有日期和时间都存储在本地时区 英国 中 我无法改变它们的存储方式 但是 要求是在应用程序中显示 GMT 中的所有日期 因此 当我从数据库中检索事件列表时 我需要它以这种时间格式显示所有事件 同时观察每个特定事
  • 获取所有公共用户贡献,又名“日历数据”(github api v3)

    我发现了很多线程 甚至有几个项目使用 github api 之外的 api 嵌入了贡献日历 但这些方法或线程都没有真正回答这个问题 一个接近但这是不行的 我只是想获取用户的贡献总数 如 github 个人资料页面上的日历所示 如下所示 ap