2016-09-20 43 views
-1

所以基本上我得到了一个ID列表并将它们存储在一个数组ID中。我想用这些ID来做api调用。这是我的代码:如何使用for循环遍历数组

url = "https://swag.com" 
headers = {'x-api-token': "cool"} 
response = requests.get(url, headers=headers) 
data = json.loads(response.text) 

ids = [element['id'] for element in data['result']['elements']] 
for i in ids: 
    url_2 = "https://swag.com/" 
    survey_url = url_2 + str(ids) 

response_2 = requests.get(survey_url, headers=headers) 
data_2 = json.loads(response_2.text) 
print(response_2.text) 

所以基本上我不知道如何分开ID运行个别调用。我将如何去做这件事。用我的代码,它只是试图运行所有ID作为1 api调用。

+2

此代码在语法上看起来不正确。请检查您的缩进 – sisanared

+0

此代码运行我只是把它切碎了一点,使其变得简单 –

+1

forloop没有缩进。但假设下面的代码进入forloop,问题是'survey_url = url_2 + str(ids)'必须是'survey_url = url_2 + str(i)'? – algrebe

回答

3

您的for循环正在构建基于ids而不是id的调查网址。

将其更改为

for i in ids: 
    url2 = "https://swag.com/" 
    # your mistake was using str(ids) here. 
    survey_url = url_2 + str(i) 
    # proceed further with making the request for this survey url 
    # Also, I feel the response_2, data_2 and print(response_2.text) 
    # should be inside this for loop 

一个简单的方法来抓住这个错误将是把打印语句并打印SURVEY_URL。

+0

好的非常感谢你 –

+1

不要只是感谢他们,把它标记为答案。 ;) – haliphax