IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Je cherche un script simple en python pour se connecter à un site avec login et mdp


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2023
    Messages : 6
    Par défaut Je cherche un script simple en python pour se connecter à un site avec login et mdp
    Bonjour,

    Je galère à trouver un script tout simple en python et efficace pour me connecter à un site avec login et mot de passe, en vue de scraper un tableau csv ou son code source.

    Merci de votre retour.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Si vous venez ici, c'est pour avoir de l'aide pour écrire ce genre de script, pour trouver un script tout fait, un moteur de recherche fait l'affaire. Néanmoins, l'authentification a un site Web dépend du site, sans aucune idée du mécanisme d'authentification utilisé difficile de coder (et que chercher?).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2023
    Messages : 6
    Par défaut
    oups...

    Salut,

    voici le code source de la page d'identification du site (j'ai mon identifiant et mdp) :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <!DOCTYPE html>
    <html lang="en">
    	<head>
    		<meta charset="utf-8">
    		<title>Connexion</title>
    		<link rel="stylesheet" href="css/login.css" />
    	</head>
    	<body>
    		<div class="center-screen">
    			<form action="/login.php" method="post">
    				<div class="container">
    					<label for="username"><b>Nom d'utilisateur</b></label>
    					<input type="text" name="username" value="" required>
     
    					<label for="password"><b>Mot de passe</b></label>
    					<input type="password" name="password" required>
     
    					<input type="submit" value="Se connecter">						
    				</div>
    			</form>
    		</div>
    	</body>
    </html>

    le script que j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import requests
    with requests.Session() as s:
        url = 'https://www.exemple.fr/login.php'
        s.get(url)
        values = {'username': 'mon_identifiant',
              'password': 'mon_mdp'}
     
        r = requests.post(url, data=values)
    #print r.content
        r = s.get("https://www.exemple.fr/tableau.php")
        print(r.text)
    sauf que le résultat, il imprime le code source de la page d'identification. Il ne passe pas l'étape de la connexion et accès à la page souhaitée

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Brunau35 Voir le message
    le script que j'ai utilisé :
    Et il te semble lisible? Tu ne te dis pas qu'il manque des tabulations par ci, par là? C'est pourtant important les tabulations, surtout en Python. Tu ne t'es pas un peu baladé sur le forum voir comment faisaient les autres à défaut d'aller lire les règles???
    Accessoirement le site www.exemple.fr n'existant pas, on ne peut pas reproduire. Mais je suis dubitatif quant à ces deux instructions à suivre: r = requests.post(url, data=values) puis r = s.get("https://www.exemple.fr/tableau.php") parce que dans tous les langages du monde, remplir deux fois une même variable sans la traiter entre temps est soit inutile et du temps perdu (dans le meilleur des cas) soit une erreur de programmation.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Brunau35 Voir le message
    Sauf que le résultat, il imprime le code source de la page d'identification. Il ne passe pas l'étape de la connexion et accès à la page souhaitée
    Si vous avez testé ça sur l'URL https://www.exemple.fr, c'est peut être "normal"

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2023
    Messages : 6
    Par défaut
    En copiant/collant, j'ai omis de remettre les tabulations. Mais en fait, elles disparaissent , donc j'ai remplacé pour ce message par des "_".


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import requests
    with requests.Session() as s:
          url = 'https://www.exemple.fr/login.php'
          s.get(url)
          values = {'username': 'mon_identifiant',
                        'password': 'mon_mdp'}
     
          r = requests.post(url, data=values)
     
          r = s.get("https://www.exemple.fr/tableau.php")      <-----2nd page après connexion.
          print(r.text)
    Le site original, je ne suis pas autorisé à le diffuser...

    Je vois bien qu'il manque une commande intermédiaire. Je pensais r=requests.post... me permettait de me connecter
    et que r=s.get.. d'aller à la page demandée. Après trouver une commande pour enregistrer un tableau csv.

    J'avoue, je suis novice et bidouille, mais on me demande une petite appli html pour rendre visible des données de niveaux d'étiage dans les rivières bretonnes. Voili voilà.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Brunau35 Voir le message
    J'avoue, je suis novice et bidouille, mais on me demande une petite appli html pour rendre visible des données de niveaux d'étiage dans les rivières bretonnes. Voili voilà.
    On ne demande pas de faire ça à un débutant sans pouvoir lui mâcher le boulot et résoudre les difficultés qu'il pourrait rencontrer.

    Pour le reste, il n'y a pas de grosse boulette dans le code => il faut vérifier 3 fois plutôt qu'une que les informations de connexion sont correctes (et puisqu'on ne peut pas le faire pour vous...).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 540
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 540
    Par défaut
    le site ne propose pas d'API ?
    tu as regardé le résultat (la réponse) de ton post ?

Discussions similaires

  1. je cherche un script simple
    Par seksaki dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2009, 02h55
  2. Réponses: 1
    Dernier message: 03/02/2009, 17h21
  3. Réponses: 3
    Dernier message: 05/02/2008, 12h32
  4. [Galerie] Cherche un script php pour avoir une galerie de photos
    Par Nimajneb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 03/08/2006, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo