CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Python - Post HTTP requests

benitocamelow
benitocamelow
Niveau 1
20 août 2018 à 01:38:49

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))
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment