Github API:每次调用都会得到不同的结果。尝试提取最受好评的 Python 存储库

问题描述 投票:0回答:1

我是一名新程序员,我正在尝试调用 Github API 来获取最受加星标的 Python 项目列表(按星数排序)。每次我运行程序、重新运行请求时,我都不会得到相同的结果。将所有内容放入数据框中并按星星数量排序,程序的每次运行都会给我一个不同的数字。我不确定我的代码是否做错了什么或者不理解 github api。

```
query_url = "https://api.github.com/search/repositories?q=language:python&sort=stars&order=desc"


headers = {'Authorization': f'token {API_KEY}'}
r = requests.get(query_url, headers=headers)
result = r.json() # pprint(r.json())
```
python json github python-requests github-api
1个回答
0
投票

问题:分页

解决方案:对所有页面进行排序 代码:

def fetch_all_pages(url, headers):
    all_items = []
    page = 1
    while True:
        response = requests.get(url, headers=headers, params={'q': 'language:python', 'sort': 'stars', 'order': 'desc', 'page': page})
        if response.status_code != 200:
            print(f"Error: {response.status_code}")
            return None
        
        result = response.json()
        items = result.get('items', [])
        
        if not items:
            break
        
        all_items.extend(items)
        page += 1
        
    return all_items
© www.soinside.com 2019 - 2024. All rights reserved.