如何根据不同的参数值创建多个 API 请求?

How to create multiple API requests based on different param values?

所以我有这个列表,其中存储了用于查找帐户的不同请求 URLS。

accounts= []

每个 url 看起来都像这样。 'https://example.somewebsite.ie:000/v12345/accounts/12345/users'

每个 URL 都有不同的 ID,因此列表中的下一个 URL 例如 'https://example.somewebsite.ie:000/v12345/accounts/54321/users'

我试过这样做。


accountReq = []
for i in accounts:
    accountReq = requests.get(i, headers=headers).json()



for each in accountReq['data']:
    print(each['username']+" "+" ",each['first_name'],each['last_name'])


这只会打印出最后的 GET 请求数据。

如何根据列表中的每个不同值编写多个请求?

我可以逐行单独请求,但我不想这样做,因为我可能有 100 加 URLS 可以尝试。

accountReq 只保留最后的数据,因为您在每次迭代时都重新定义了变量。您应该将代码更改为:

accountReq = []
for i in accounts:
    accountReq.append(requests.get(i, headers=headers).json())



for each in accountReq:
    account = each['data']
    for data in account:
        print(data['username']+" "+" ",data['first_name'],data['last_name'])

现在这会将每个单独的 JSON 对象数据添加到 accountReq 列表。

如果您只对打印某些值感兴趣,那么:

accounts = [] # a list of URLs

for account in accounts:
  (r := requests.get(account, headers=headers)).raise_for_status()
  for d in r.json()['data']:
    print(f"{d['username']}, {d['first_name']}, {d['last_name']}")
for each in accountReq:
        account = each['data']
        for data in account:
         print(data['username']+" "+" ",data['first_name'],data['last_name'])

这就是我在调整某人提供的答案后所做的。