Bonjour,
Je suis encore débutant sur Python et j'ai désespérément besoin d'aide pour un projet:
- Remplir le formulaire sur le site suivant (https://www.classement.atout-france.fr/hebergements-classes), en entrant simplement le code postal. Soumettre le formulaire et récupérer le fichier CSV généré.
Je n'ai pas réussi à reproduire la requête, entre le formulaire IFrame et les liens Ajax & Wicket.
Voici mon début de code:
import requests
import urllib
import urllib.parse
import urllib.request
from bs4 import BeautifulSoup
import pandas as pd
import io
URL = 'https://www.classement.atout-france.fr/rechercheHebergement'
HOST = 'www.classement.atout-france.fr'
global code_postal
code_postal = 75005
postDataDict = {"id60_hf_0":None,
"classement":None,
"nomCommercial":None,
"codePostal": code_postal,
"commune":None,
"regionSelect":None,
"wmcDatesClassementEtPublication:wmcDecision:typeRechercheDateDecision":"LE",
"wmcDatesClassementEtPublication:wmcDecision:dateDecision":None,
"wmcDatesClassementEtPublication:wmcPublication:typeRechercheDatePublication":"LE",
"wmcDatesClassementEtPublication:wmcPublication:datePublication":None,
":submit":1}
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15"}
cookie = {'Cookie': r.headers['Set-Cookie']}
headers.update(cookie)
s = requests.Session()
r = s.post(URL, data=payload, headers = headers)
print(r.text)
soup = BeautifulSoup(r.text, features = "html.parser")
links = soup.findAll('a', attrs={'class':'exportCsv'})
print(links)
csv_url = # URL to export the CSV file
data = requests.get(csv_url, allow_redirects=True)
df = pd.read_csv(io.StringIO(data.text))