【发布时间】:2020-06-18 01:52:20
【问题描述】:
我正在尝试获取 Github 组织中的所有成员。我们有大约 4K。
使用文档here,我正在尝试翻阅结果,但它没有遍历结果页面。
代码如下:
from dotenv import load_dotenv, find_dotenv
import json
import requests
import os
load_dotenv(find_dotenv())
headers = {
"authorization": f"{os.getenv('github_token')}",
"content-type": "application/json"
}
query_url = "https://api.github.com/orgs/<name of Org>/members?page="
members = [ ]
page_no = 1
loop_control = 0
while loop_control == 0:
url = query_url + str(page_no)
request = requests.get(url, headers=headers)
print(url)
print(request.status_code)
response = request.json()
print(len(response))
for i in response:
members.append(i)
if len(response) == 30:
page_no += 1
elif len(response) < 30:
loop_control = 1
with open('data/github/response.json', 'w') as file:
print(len(members))
json.dump(members, file)
使用代码,它会抓取前 30 个结果,然后抓取 7 个作为结果的第 2 页。
有什么想法吗?
【问题讨论】:
标签: python python-3.x pagination github-api