GitHub Atom Feed分页疑问:如何获取超过20条结果?
GitHub Atom Feed 分页与获取更多结果的方法
首先明确:GitHub的原生Atom Feed(比如提交记录的.atom链接)不支持通过Atom规范的rel=next进行分页,默认只返回最近20条结果。要获取更多内容,有以下两种可行方案:
方案一:使用GitHub API替代Atom Feed
GitHub REST API提供了完整的分页支持,以提交记录为例:
- 调用提交列表接口:
GET /repos/tensorflow/tensorflow/commits - 通过
page和per_page参数控制分页和每页数量(per_page最大支持100) - 响应头中的
Link字段会包含next/prev等分页标识,也可以手动递增page参数来获取下一页
示例请求(获取第2页,每页100条提交):
GET /repos/tensorflow/tensorflow/commits?page=2&per_page=100
你可以将API返回的JSON数据自行转换为Atom格式,或者直接使用JSON结果处理需求。
方案二:构造带分页参数的Feed链接(非官方,可能不稳定)
虽然GitHub官方未公开该参数,但部分场景下可以通过在Atom Feed URL后添加?page=N参数来尝试获取历史页内容:
- 示例:
https://github.com/tensorflow/tensorflow/commits/master.atom?page=2
注意:这种方式属于非官方实现,GitHub随时可能修改或移除该参数,不建议在生产环境中依赖。
补充说明:你提到的
rel=next链接缺失是正常情况,GitHub的Atom Feed并未实现Atom规范中的分页扩展,因此无法通过标准方式获取下一页。
内容的提问来源于stack exchange,提问作者beek
相关产品推荐
相关产品推荐

