首页 > 解决方案 > Python - 将请求的结果传递到另一个请求中

问题描述

我是 Python 初学者。我正在尝试获取一个 request.get 的结果并将值传递给另一个。本质上(第一个 response.get)提供了客户 ID 号码 - 然后我试图获取这些 customerID 号码并获得客户分数(来自第二个 response.get)

我得到了第一部分的工作,它按预期返回了结果。我只是不确定如何将值传递到第二部分。

p = (('Location', 'CA'), ('NumRows', '5'))
prepare_link = requests.get('https://api.linktomyapi?', auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params=p)
test = requests.get(prepare_link.url, auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params=p)

data = json.loads(test.text)

for customer in data['Data']:        
    BusinessID = customer['Id']
    print(BusinessID)

这为我提供了输出

5316636
14210
6509
1305
13249780

我现在正在尝试获取此输出并将值传递到我要输出的另一个 get 中,如下所示

客户 ID(来自上方)- 客户得分(来自第二次获取)

p2 = ()
prepare_link2 = requests.get('https://api.linktomyapicustmerscore?', auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params=p2)

如何设置一个循环以将客户 ID 值(从第一次获取)传递到 p2 以显示所有 5 行?

我确实尝试使用存储第一次进入数组的结果

  CustomerIdList = []
    for customer in data['Data']:
        #print(customer['Id'])
        
        BusinessID = customer['Id']
        CustomerIdList.append(str(customer['Id']))
    
    print (CustomerIdList)

这为我提供了这个输出

['5316636', '14210', '6509', '1305', '13249780']

我只是不知道如何使用它来为第二次获取创建循环。

标签: pythonjson

解决方案


您可以遍历 CustomerIdList 列表。下面的例子:

CustomerIdList=['5316636', '14210', '6509', '1305', '13249780']

for i in CustomerIdList:
    print ("requests.get('https://api.linktomyapicustmerscore?', auth=BearerAuth('AMB7i7F63t13s58yN9kLtLNBjo607Di7'), params="+i+")")

推荐阅读