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 :

[urllib] Récupère une page incomplète


Sujet :

Réseau/Web Python

  1. #1
    Invité
    Invité(e)
    Par défaut [urllib] Récupère une page incomplète
    Bonsoir à tous,

    Je suis en train de travailler avec les librairies urllib et urllib2, et j'ai actuellement un petit soucis. Je souhaite pouvoir récupérer des réponses fournies par le site pagesjaunes. Les valeurs du formulaire sont transmises en POST, jusque là pas de soucis, seulement la page qui m'est retournée est incomplète, et je n'arrive pas à saisir pourquoi ?

    Code : 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
    24
    25
    26
    27
    28
    29
    30
    #! /usr/bin/python
    # -*- coding: utf-8 -*-
     
    import urllib
    import urllib2
    import copy
     
     
    # TODO : 	Gérer UrlError (quand il n'y a pas de connexion réseau ou que le
    #			serveur est injoignable)
    # TODO : 	Gérer HTTPError (quand le serveur est atteint mais qu'il retourne
    #			une erreur à la requête)
     
     
    class Retriever:
     
    	def __init__ (self, sUrl='', dsValeursForm={}):
    		self._sUrl = sUrl
    		self._dsValeursForm = copy.copy (dsValeursForm)	# Copie des valeurs du dictionnaire
     
     
    	def AjouteValeurForm (self, sId, sValeur):
    		self._dsValeursForm[sId] = sValeur
     
     
    	def Recupere (self):
    		data = urllib.urlencode (self._dsValeursForm)		
    		rep = urllib.urlopen(self._sUrl, data)
     
    		print rep.read()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if __name__ == "__main__":
     
    	Ret = Retriever.Retriever ("http://www.pagesjaunes.fr/trouverlesprofessionnels/rechercheClassique.do")
    	Ret.AjouteValeurForm ("ou", "lyon")
    	Ret.AjouteValeurForm ("quoiqui", "restaurant")
     
    	Ret.Recupere()
    Si quelqu'un a une idée, je suis preneur, là je vois pas où est le soucis


    PierreAd

  2. #2
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 185
    Points
    185
    Par défaut
    Tu indique où que les params sont envoyés en post ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par poof65 Voir le message
    Tu indique où que les params sont envoyés en post ?
    Merci de ta réponse, depuis le problème a été contourné ! Quant à ta question, à partir du moment ou tu ajoutes le paramètres data à la méthode urlopen, il s'agit de variables passées en post (sinon tu les passes directement dans l'url fournie a urlopen).

    Cordialement,


    PierreAd

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/05/2010, 01h16
  2. Python, urllib, récupération de données d'une page PHP
    Par alexbts dans le forum Réseau/Web
    Réponses: 9
    Dernier message: 08/01/2009, 12h31
  3. [cURL] je récupère une version de la page en cache
    Par contremaitre dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/04/2008, 09h46
  4. Macro qui récupère les contrôles d'une page
    Par nitrous007 dans le forum ASP.NET
    Réponses: 15
    Dernier message: 22/05/2007, 10h46

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