当前位置:首页 > 文章列表 > 科技周边 > 业界新闻 > GitHub 新 Star 历史接口能获取哪些统计数据

GitHub 新 Star 历史接口能获取哪些统计数据

来源:17golang原创 2026-09-05 12:19:10 0浏览 收藏

如果你的报表只关心“这个仓库最近增长得快不快”,GitHub 新增的 Star history REST API 已经给出了更合适的数据入口:它按日和按周返回 Star 数量变化,但不暴露每个 stargazer 的账号。换句话说,你可以继续画增长曲线、做周环比和识别发布后的峰值,却不能把它当成用户明细接口。

要点速览
  • 核心路径是 GET /repos/{owner}/{repo}/stargazers/history,每条记录代表一个日历周。
  • total 是该周新增 Star 总数,days 是从周日开始的 7 个日新增数。
  • 结果按最近周在前返回,分页继续向仓库创建周回溯;无 Star 的周也会保留为 0。

新接口到底返回哪些统计数据

GitHub 在 2026 年 9 月 4 日的 Changelog 中说明,新接口用于在不暴露 stargazer 身份的前提下追踪仓库 Star 增长。官方 REST 文档把返回结果定义为按日历周分组的历史序列,最近的一周排在前面。

字段含义接入报表时的用法
week该周的时间戳作为周粒度时间轴,注意周边界不保证按 UTC 对齐
total该周新增 Star 数计算周环比、发布前后对比
days长度为 7 的每日新增数,周日是第一个元素定位哪一天出现峰值

官方示例中的一条记录形如 {"week":1754784000,"total":19,"days":[0,12,7,0,0,0,0]}。这里的 19 应当等于七个日值之和。这个接口给的是仓库层面的聚合统计,不包含登录名、用户 ID、头像或每次 Star 的个人时间戳。

GitHub Star 历史接口把仓库增长曲线与个人 stargazer 身份分开,左侧为按周按日聚合数据,右侧身份信息被隐去
图1:新接口保留仓库 Star 的时间聚合关系,同时把个人 stargazer 身份留在数据边界之外。

一次请求如何读取周与日数据

公共仓库可以在不认证的情况下请求这类公开资源;需要认证时,细粒度令牌至少要有仓库 Metadata 读取权限。生产脚本仍建议显式带上推荐的 Accept 头和 API 版本头:

curl -L \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2026-03-10" \
  -H "Authorization: Bearer " \
  "https://api.github.com/repos/OWNER/REPO/stargazers/history?per_page=30&page=1"

拿到 JSON 后,先把 week 转成应用时区的日期,再保存 days[0]...days[6]。不要用当前仓库的 stargazers_count 去替换历史记录中的 total:前者是当前仍保留 Star 的用户数量,后者是某个日历周内新增的 Star 数,两者回答的是不同问题。

如果只要当前总量,原有的 GET /repos/{owner}/{repo}/stargazers/count 更直接;如果要趋势,才使用 /stargazers/history。把两个结果放到同一张图时,应在图例中明确“当前存量”和“周期新增”两个口径。

分页和时间边界怎么处理

历史接口每页最多 30 条,页码最多到 100。第 1 页是最近周,下一页继续向更早的周移动;同一页内仍是从新到旧。因此,拉完多页后应先按 week 升序排序,再交给图表或周环比计算。不能直接把响应数组首尾拼成最终趋势,否则折线会从今天倒着走。

文档还特别说明:没有新增 Star 的周也会返回 0,days 的七个位置从周日开始,而且周和日的边界不保证与 UTC 完全一致。对跨时区团队,建议把原始 week 和展示日期同时保存,避免用本地日期重新推算后出现一周偏移。

GitHub Star 历史数据按最近周到更早周分页,单周包含 total 和从周日开始的七个 daily counts
图2:分页结果要按周时间戳重新排序,单周内部再按周日到周六读取七个日值。

旧的 stargazers 列表脚本如何迁移

这次变化的关键不是换一个 URL,而是数据权限边界变了。GitHub 文档说明,stargazers 列表相关端点的访问已限制给管理员和协作者;新的 history 端点提供的是隐私安全的聚合替代方案。

迁移时可以按下面的判断处理:需要增长曲线,就改为读取 history;需要当前总量,就调用 count;需要“谁点了 Star”,则不能把 history 当作替代品,也不应继续围绕公开用户列表设计新的采集流程。已有内部工具还要检查分页上限、去重键和时区转换,尤其不要把 days 数组误读成从周一开始。

常见问题

history 接口能返回每个用户的 Star 时间吗?

不能。它只返回仓库在每个日历周和每天新增的数量,个人身份和个人事件时间不在返回模型里。

total 是这一周结束时的总 Star 数吗?

不是。total 表示该周新增数量;当前仍保留的 Star 总量应使用 stargazer count 或仓库当前元数据口径。

为什么图表的周一和 GitHub 数据对不上?

先检查两个地方:days 的第一个元素是周日,以及文档没有保证周边界与 UTC 对齐。保存原始时间戳并统一展示时区后再聚合。

这项更新让“Star 趋势分析”重新有了稳定的聚合入口,但它刻意没有恢复用户明细。对监控、发布复盘和项目热度报表而言,这通常已经够用;对身份级分析而言,则应重新审视需求是否真的需要这类数据。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
特效变音魔术师怎么设置铃声和通知音?音质、暗色模式与权限说明特效变音魔术师怎么设置铃声和通知音?音质、暗色模式与权限说明
上一篇
特效变音魔术师怎么设置铃声和通知音?音质、暗色模式与权限说明
横风动漫怎么同步观看进度?离线缓存、投屏与播放设置说明
下一篇
横风动漫怎么同步观看进度?离线缓存、投屏与播放设置说明
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • SuperCLUE中文大模型评测基准:功能、能力维度与应用指南
    SuperCLUE
    SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
    146次使用
  • C-Eval中文评测基准:大语言模型多学科能力评估指南
    C-Eval
    深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
    68次使用
  • ClickPrompt:AI提示词生成与优化工具,支持Stable Diffusion、ChatGPT及代码辅助
    ClickPrompt
    ClickPrompt是一款专为AI提示词编写者设计的开源在线工具,支持Stable Diffusion绘图、ChatGPT对话及GitHub Copilot代码辅助。提供Prompt自动生成、一键运行、社区分享及可视化优化功能,帮助用户高效获取精准AI输出。
    35次使用
  • PromptHero官网:AI提示词搜索、优化与学习平台,支持Midjourney/Stable Diffusion
    PromptHero
    PromptHero是专业的AI提示词搜索引擎与优化平台,支持Stable Diffusion、Midjourney等主流模型。提供海量提示词库、分类搜索、在线课程及社区互动,助力用户高效生成高质量AI图像与文本。
    15次使用
  • OpenArt免费开源指南:Stable Diffusion Prompt Book提示词手册详解
    Stable Diffusion Prompt Book
    深入解析OpenArt推出的Stable Diffusion Prompt Book,这本免费的开源提示词指南涵盖从基础语法到高级技巧,提供风格化词库与参数建议,助您优化AI绘画生成效果。
    21次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码