You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitHub API获取全部174个符合条件的用户列表?

嘿,这个问题我熟!GitHub Search API默认是分页返回结果的,每页最多给30条(不过你可以调到最多100条),所以你只拿到了第一页的30个用户。要获取全部174个,得通过分页参数来遍历所有页面才行。下面分别说下Postman和curl的实现方法:

Postman 实现步骤
  1. 先确认总页数:
    先发送一次原始请求https://api.github.com/search/users?q=abcde+repos:%3E1,在返回的响应体里找到total_count字段(这里是174)。
    计算总页数:因为per_page最大可以设为100,所以总页数 = 向上取整(174/100) = 2页(如果总数是250的话就是3页,以此类推)。
  2. 设置分页参数:
    在Postman的请求Params面板里添加两个参数:
    • per_page:值设为100(这是GitHub允许的最大单页返回数,能减少你需要发送的请求次数)
    • page:从1开始,依次设置为1、2,分别发送请求
  3. 收集结果:
    每次请求后,提取响应体里items数组中的login字段,把所有页面的结果合并起来就是完整的174个用户名了。
    如果你想自动化批量执行,可以用Postman的Collection Runner,设置page参数的迭代范围(比如1到2),自动遍历所有页面并收集结果。
curl 实现步骤
  1. 先获取总条数:
    执行下面的命令得到总用户数:
    curl -s "https://api.github.com/search/users?q=abcde+repos:%3E1" | jq '.total_count'
    
    这里会返回174,计算总页数为2页。
  2. 循环请求所有页面:
    用bash循环遍历每一页,获取所有用户名:
    for page in {1..2}; do
      curl -s "https://api.github.com/search/users?q=abcde+repos:%3E1&per_page=100&page=$page" | jq '.items[].login'
    done
    
    如果你想把结果保存到文件里,直接重定向输出即可:
    for page in {1..2}; do
      curl -s "https://api.github.com/search/users?q=abcde+repos:%3E1&per_page=100&page=$page" | jq '.items[].login' >> all_github_usernames.txt
    done
    

注意事项

  • GitHub API有速率限制:未认证的请求每小时最多60次,你的这个请求量很小,完全没问题;如果是处理更大的数据集,建议添加认证信息(比如个人访问令牌)来提升速率限制。
  • 当page超过总页数时,API会返回空的items数组,所以不用担心多请求的问题。

内容的提问来源于stack exchange,提问作者Alin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 22:58:10