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 :

envoie d'une requête sur les pages jaunes


Sujet :

Réseau/Web Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut envoie d'une requête sur les pages jaunes
    Je n'arrive pas à lancer une requête sur les pages jaunes.
    Voici mon script:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    #!/usr/bin/python
     
    import cookielib, urllib, urllib2
    import os.path
    import sys
     
    COOKIEFILE = 'cookies.lwp' #### le chemin et fichier pour sauvegarder vos cookies
    cj = None
    quoiqui = 'restaurant'
    ou = 'paris'
     
     
    urlopen = urllib2.urlopen
    Request = urllib2.Request
    cj = cookielib.LWPCookieJar() 
     
    if os.path.isfile(COOKIEFILE):
    	cj.load(COOKIEFILE)
     
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    urllib2.install_opener(opener)
     
    mon_url = 'http://pagesjaunes.fr/'
     
    # On envoie login/password au site qui nous renvoie un cookie de session
    values = {'quoiqui':quoiqui, 'ou':ou }
    txdata = urllib.urlencode(values)
     
    txheaders =  {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}	
     
    try:
    	req = Request(mon_url, txdata, txheaders) ### création d'un objet request
    	handle = urlopen(req) ### on l'ouvre pour renvoyer un handle sur l'url
    	# Ecriture :
    	f = open("pages_jaunes.html", "w")
    	f.write(handle.read())
    	f.close()
    	# Lecture :
    	f = open("pages_jaunes.html", "r")
    	var="--- Non la bonne page n'a pas été trouvée!"
    	for ligne in f:
    		mot_recherche=quoiqui
    		if mot_recherche in ligne:
    			var="--- Oui la bonne page est affichée."
    	print var
    	print
    	f.close()
     
    except IOError, e:
        print '--- ERREUR'
        sys.exit()
    else:
        print handle.headers
     
     
    print '--- Voici les cookies:'
    for index, cookie in enumerate(cj):
        print index, '  :  ', cookie
    cj.save(COOKIEFILE)
    Je n'ai pas de message d'erreur mais je n'obtiens pas la page des résultats!!!

    Merci à qui peut m'aider.

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Quand tu fais un post, c'est à l'adresse url du post qu'il faut le faire. Dans ton cas, le forumlaire de recherche à la valeur action="http://www.pagesjaunes.fr/trouverlesprofessionnels/rechercheClassique.do;jsessionid=xxxxxxxxxxxxxxxxxxxxx?idContext=-xxxxxxxxxxxxx&portail=PJ"

    Il faut donc que dans ton code, ta variable mon_url corresponde à l'action du post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mon_url = 'http://www.pagesjaunes.fr/trouverlesprofessionnels/rechercheClassique.do'
    Je n'ai pas détaillé les paramètres jsessionid, idcontext, à toi de voir s'il sont nécessaires. Je n'en ai pas l'impression.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Grand merci pour la réponse. Je confirme ça marche et les paramètres jsessionid, idcontext, ne sont pas nécessaires.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 16
    Points : 9
    Points
    9
    Par défaut seule la première page est récupérée
    dommage que seule la première page soit récupérée.
    Comment récupérer plusieurs pages de réponses ?

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

Discussions similaires

  1. [AC-2002] Envoi d'une requête sur une page web
    Par pier.antoine dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/09/2009, 14h45
  2. une requête sur les chaine de caractère
    Par ajor dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 13/01/2009, 16h24
  3. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24
  4. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20

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