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

Réseau/Web Python Discussion :

Automatiser les tâches Web avec Python


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 44
    Par défaut Automatiser les tâches Web avec Python
    Bonjour,

    J'aimerais créer un script qui pour un petit jeu online qui fasse le travail à ma place pendant que je suis au bureau (gestion de mon perso, saisie des formaulaires en fonction des conditions...)

    Je ne connais rien au Python, mais j'en ai entendu du bien. Je sais qu'il existe une librairie Perl WWW::Mechanize qui permet de le faire.

    Est-ce qu'on peut le faire avec Python et où on peut trouver de l'aide ?

    Merci

  2. #2
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    urllib et urllib2 sont tes amis

  3. #3
    Membre confirmé Avatar de KINENVEU
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    ce message tombe bien, c'est exactement ce que je veux faire.

    par contre, je n'y arrive pas vraiment...

    je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import urllib
    pageWeb = urllib.urlopen(webAddress)
    mon souci, c'est que lorsque je fais ca, j'obtiens la page ou je dois me logger,
    et je ne peux rien faire sans me logger.
    "webAddress" est de type ".php", j'imagine que je dois pouvoir lui passer des parametres de connexion (login, password).

    mais je ne sais pas du tout comment faire, je n'y connais pas grand chose au principe de connexion sur un site web ...

    quelqu'un pourrait-il m'eclairer ?



    P.S: pour clarifier ce que je veux faire :

    je voudrais faire un script python qui "dialogue" avec un site web.
    par "dialogue", j'entends pouvoir obtenir des informations (sous forme d'objet? ou de code html, ...),
    et egalement pouvoir repondre ( adresseSite.php?reponse=maReponse, ou bien intercepter un popup ?, ...)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    Comme le dit anthyme, urlib2 est votre ami !
    http://docs.python.org/lib/module-urllib2.html

    Vous pouvez ouvrir une page avecSi la page attend des paramètres par GET, il faut les concaténer à l'url. Sur le site de votre jeu, vérifiez si des données de type [...]xxx.php?data1=val1&data2=val2[...]
    apparaissent dans la barre d'adresse. Si oui, votre script doit ajouter ces données à l'url pour communiquer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    url = 'www.monjeu.com/action.php'
    data1 = val1
    data2 = val2
    url += '?data1=' + data1 + '&data2=' + data2
    page = urlopen(url)
    Si de telles données n'apparaissent pas dans l'adresse, elles sont envoyées par POST, et ne doivent pas être ajoutées à l'adresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    url = 'www.monjeu.com/action.php'
    data1 = val1
    data2 = val2
    data = 'data1=' + data1 + '&data2=' + data2
    page = urlopen(url, data)
    Regardez aussi du côté de la classe 'Request'.

    Après avoir appelé une page, si tout va bien, vous devriez récupérer un objet de type pseudo-fichier. Il faudra l'analyser pour interpréter la réponse du site, récupérer la situation du jeu, etc.

    Je n'ai pas testé ce que j'avance, mais les grands principes sont là. A vous de jouer !

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93

  6. #6
    Membre confirmé Avatar de KINENVEU
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    merci a toi, tes conseils m'ont ete precieux pour avancer.

    par contre, je n'arrive toujours pas a me faire identifier par le serveur.

    j'ai essaye l'exemple de l'article ci-dessus.
    (recuperer l'erreur pour avoir le "protocole" pour se faire identifier)

    en gros je veux acceder a une page a laquelle on ne peut acceder qu'une fois identifie par le serveur.
    or quand je tente d'acceder a la dite page, le serveur ne me renvoie pas d'erreur, mais me redirige simplement vers la page d'authentification.


    je pense qu'il y a un truc que je n'ai pas compris quelque part !!

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/06/2014, 12h02
  2. comment developper une page web avec python
    Par moezcool dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 27/06/2008, 13h45
  3. Les applications web et Python
    Par deltus7529 dans le forum Réseau/Web
    Réponses: 13
    Dernier message: 18/07/2007, 18h45
  4. [DW4] Redimensionner les pages web avec dreamweaver 4
    Par al777 dans le forum Dreamweaver
    Réponses: 17
    Dernier message: 20/11/2006, 13h23
  5. Réponses: 2
    Dernier message: 19/12/2005, 13h15

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