Ciao a tutti

spero di aver postato nella sezione giusta: ho cominciato relativamente di recente a programmare con Python, e al momento mi trovo bloccato sulla costruzione di un loop.

In pratica ho creato una lista che ho chiamato list_id che contiene diversi codici cliente (che ho ricavato da uno scraping precedente). Vorrei usare questi codici cliente come input per una POST request (che realizza una ricerca in un form), dopodiché fare lo scraping dei risultati della ricerca, ripulirli ed esportarli in un file csv. Per il momento sono riuscito a completare il ciclo utilizzando solo il primo elemento del mio list_id (qui sotto il codice utilizzato):

list_id = [ ] #create an empty list where I append all the customer codes I need
 
for td in soup.find_all('td', {'data-review-id':True}):
    list_id.append(td['data-review-id'].replace('"', ''). replace(r'/', '/').replace('\', '').encode("latin-1")) # I extract the customer codes from a web page and append them to my list_id
#print list_id
 
# I set up the data for my post request:
 
data2 = {
'reviews_review_search_presenter[ownClientOnlyYN]': 'false',
'reviews_review_search_presenter[userID]': '5228',
'utf8': 'u2713',
'authenticity_token': form3["authenticity_token"], #it takes the authenticity token from elsewhere
'reviews_review_search_presenter[timeOffset]': '0',
'reviews_review_search_presenter[reserveYN]': 'F',
'reviews_review_search_presenter[aktiv]': 'alle' ,
   'reviews_review_search_presenter[meinungstyp]': 'R' ,
   'reviews_review_search_presenter[typus]': '' ,
   'reviews_review_search_presenter[minNote]': '1' ,
   'reviews_review_search_presenter[maxNote]': '5' ,
   'reviews_review_search_presenter[fromDate]': '' ,
   'reviews_review_search_presenter[fromTime]': '' ,
   'reviews_review_search_presenter[toDate]': '' ,
   'reviews_review_search_presenter[toTime]': '' ,
   'reviews_review_search_presenter[fromUpdateDate]': '' ,
   'reviews_review_search_presenter[fromUpdateTime]': '' ,
   'reviews_review_search_presenter[toUpdateDate]': '' ,
   'reviews_review_search_presenter[toUpdateTime]': '' ,
   'reviews_review_search_presenter[artikelNummer]': '' ,
   'reviews_review_search_presenter[masterStyleID]': '' ,
   'reviews_review_search_presenter[digiStyleID]': '' ,
   'reviews_review_search_presenter[id]': list_id[0], #I take only the first customer code in my list_id
   'reviews_review_search_presenter[text]': '' ,
#   'reviews_review_search_presenter[ownClientOnlyYN]': 'false' ,
   'reviews_review_search_presenter[accountNumber]': '' ,
   'reviews_review_search_presenter[name]': '' ,
   'reviews_review_search_presenter[firstName]': '' ,
   'reviews_review_search_presenter[email]': ''
}
response3 = s.post('http://mywebsite', data = data2)
#print(response3.status_code)
page3 = response3.text
#print page
soup2 = BeautifulSoup(page3, 'html.parser')
 
for table in soup2.find_all(["table", {"class": "customer-info-table"}], limit=1):
    string = table.get_text().replace("\n", "").replace("/th", "").replace("/span", "").replace("/i", "").replace("/p", "").replace("/a", "").replace("/tr", "").replace("/div", "").replace("/td", "").replace("</tbody", "").replace("/table", "").replace("/textarea", "").replace("/b","").replace("/select", "").replace("</option", "").replace("</label", "").replace("ead", "").replace("<>", "").encode("utf-8")
ext = "Letzte"
fileNameOnly = string[:string.find(ext) + len(ext)]
print fileNameOnly
 
reviews = []
 
reviews.append(fileNameOnly)
print reviews
file = open("out.csv", "wb")
file.write(fileNameOnly)


Il procedimento funziona immettendo manualmente il codice cliente oppure aumentando list_id[0], ma vorrei impostare un loop che rendesse possibile ripetere automaticamente il procedimento per tutti gli elementi del mio list_id, facendo una POST request per ogni singolo codice cliente, e che poi mi permettesse di salvare tutti i risultati nella variabile "reviews" ed esportarla in un file .csv

Spero di essermi spiegato, e vi ringrazio in anticipo per eventuali suggerimenti!