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

Web Perl Discussion :

Recherche sur une page web


Sujet :

Web Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut Recherche sur une page web
    Bonjour je suis débutant sur Perl et là j'ai un problème avec l'utilisation du module LWP.

    J'ai essayé de récupérer le champ du formulaire sur le site de google mais j'ai rien.

    J'ai un autre problème pour l'utilisation de HTTP::Reponse je mets :
    use LWP::UserAgent;
    use HTTP::Response;
    et j'ai le message comme quoi le module n'est pas présent alors que LWP est bien gérer ...

    Enfin ma dernière question c'est sur l'utilisation des cookies avec LWP.
    J'aimerais savoir utilisé un cookie pour me connecter sur un site web sans avoir à m'authentifier par le formulaire.

    Donc si jamais vous avez un bout de code qui montrer le chargement d'une page web avec la recherche des formulaires et une authentification avec cookie sa serai géniale. J'ai cherché sur le net je trouve pas d'exemple ou d'info assez claire ( pour moi )

    Sinon le fichier de cookie à utiliser avec LWP c'est bien :
    C:\Documents and Settings\Utilisateur\Application Data\Mozilla\Firefox\Profiles\bugztoy4.default\cookie.txt

    Merci de l'aide que vous pourrez m'apporter. Avec ça j'aurai un bon coup de pouce

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    WWW::Mechanize automatise la plupart des actions dont tu auras besoin (appuyé sur LWP et HTML::Forms), donc utilises simplement ça. Quand aux cookies, lis juste la doc d'HTTP::Cookies comme tout le monde, d'ailleurs Mechanize vient avec un cookbook si tu cherches des exemples.

    --
    Jedaï

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Merci des infos.

    Je regarde ça cette aprem et je te dirai si ça m'a apporté une aide.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Bon j'ai mis de côté le module WWW::Mechanize je trouvais pas ce que je voulais sur le cookbook et sur le web pour parvenir à mes fins.

    J'ai poursuivi mon code avec LWP qui donne :

    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
    #! C:\Perl -w
     
    use strict;
    use LWP::UserAgent;
    use HTTP::Cookies;
    use HTML::Form;
    # initialisation de l'agent
    	print "entrer l'url a telecharger : ";
    	my $url = <>; chomp ($url);
    	my $ua =
          LWP::UserAgent->new(
            agent => 'Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)',
    		cookie_jar => HTTP::Cookies->new(
    							file => 'cookies.txt',
    							autosave => 1 )
    						);
    # création de la requête
        my $req = HTTP::Request->new( GET => $url );
    # exécute la requête et reçoit la réponse
        my $res = $ua->request($req);
        die $res->status_line if not $res->is_success;
    # parse le document a la recherche de formulaire
    	my $form = HTML::Form->parse( $res->content, $url );
    	my @inputs = $form->inputs();
    #affiche la page web $url
    print $ua->request($req)->as_string;
    Je charge bien la page demander mais le problème c'est que j'ai pas les champs de formulaire en résultat J'obtiens le code de la page demandé seulement. C'est normal ? Ou est le problème ?

    Merci de vos rep

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par sebbb59 Voir le message
    Je charge bien la page demander mais le problème c'est que j'ai pas les champs de formulaire en résultat J'obtiens le code de la page demandé seulement.
    C'est relativement normal vu que c'est ce que tu demandes à afficher (malgré le commentaire erroné : non, changer le contenu d'un commentaire ne change pas le comportement du code !!) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #affiche les champ de formulaire
    print $ua->request($req)->as_string;
    $ua->request($req) envoie la requête et retourne un HTTP::Response que tu demandes d'afficher comme une string (donc avec header et body).


    --
    Jedaï

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    lool j'adore

    Pas si puissant que ça le Perl en fait ^^

    Donc mis à par le commentaire erroné j'en suis conscient ( c'est la bidouille qui ma joué des tours ) y'a pas de pb de code

    Et pourquoi ça affiche pas les champs formulaires ? qu'est ce que j'ai oublié ?

  7. #7
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par sebbb59 Voir le message
    Donc mis à par le commentaire erroné j'en suis conscient ( c'est la bidouille qui ma joué des tours ) y'a pas de pb de code
    Non tu n'as pas compris : ton commentaire dit une chose (ce que tu souhaite) et ton code en fait une autre... En bref ton code est erroné.

    Et pourquoi ça affiche pas les champs formulaires ? qu'est ce que j'ai oublié ?
    Tu as oublié de lui demander de les afficher...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for my $i (@inputs) {
      print $i->name, " (", $i->type, ") : ", $i->value, "\n";
    }
    --
    Jedaï

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Yeah ça marche. $me = status->"happy"

    Si je comprends bien le $i remplace les valeurs du tableau @inputs ?

    Merci Jedaï c'est cool d'avoir des personnes prêtes à aider les noobs

Discussions similaires

  1. [XL-2010] Faire une recherche sur une page web d'élément texte sans passer par le code source
    Par Phifou dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 18/09/2014, 11h19
  2. Recherche animation "neige à essuyer" sur une page web
    Par remstux dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 20/12/2011, 19h59
  3. recherche multicriteres sur une page web
    Par arctiquo dans le forum C#
    Réponses: 1
    Dernier message: 17/08/2009, 11h43
  4. rechercher des infos sur une page web
    Par Guenael2 dans le forum Langage
    Réponses: 6
    Dernier message: 08/12/2007, 18h32
  5. Recherche sur une page web
    Par Itori dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 13h32

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