2016-09-20 70 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