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

Langage Perl Discussion :

[HTML::TreeBuilder] Aide pour utiliser la fonction


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Par défaut [HTML::TreeBuilder] Aide pour utiliser la fonction
    Bonjour à tous,

    J'ai un petit problème, je n'arrive pas utilisé la librairie HTML::TreeBuilder dans perl5.

    Voici mon code :

    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
    #!/usr/bin/perl
    use strict;
    use warnings;
    use WWW::Mechanize;
    use HTML::TreeBuilder;
     
    my $cookies='mon cookie';
    my $useragent = 'Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13 GTB7.1';
    my $base = 'monurl'; 
    my $id =21;
     
        my $m = WWW::Mechanize->new;
        $m->agent_alias($useragent);
        $m->add_header( Cookie => $cookies );
        $m->get("${base}${id}");
     
     
     my $tree = HTML::TreeBuilder->new();
       $tree->parse_file($m->content);
     
     my @imgs = $tree->look_down( _tag => 'img');
     
        print "Imgs = " . @imgs . "\n";
    et j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    morgan@root:~/Bureau$ perl scrip.pl
     
    Unknown agent alias "Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13 GTB7.1" at script.pl line 14
     
    Imgs = 0
    morgan@root:~/Bureau$
    Je ne comprend pas pourquoi les images ne sont pas trier, est-ce du a une mauvaise utilisation de la librairie ?

    Bonne journée

  2. #2
    Membre expérimenté
    Homme Profil pro
    Gérant infopsylon
    Inscrit en
    Juin 2010
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Gérant infopsylon
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 215
    Par défaut
    Bonjour,

    Comme il est écrit dans le message d'erreur, il y a un problème à la ligne 14.
    Je pense que pour commencer il faut régler ce problème.

    Je ne connais pas bien cette partie, mais est ce que tu peux vraiment mettre des espaces dans les noms des cookies ?

    Lilian.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Le cookie je l'ai récupérer avec le plugin tamper data, il fonctionne parfaitement avec l'extension cURL de php.

    la variable $m->content contiens parfaitement la source html du site, par compte impossible d'utiliser HTML::TreeBuilder pour "trier" cette source html.

    merci de votre aide.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Par défaut
    Je me permet de faire un petit up

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Ce n'est pas HTML::TreeBuilder qui pose problème, mais WWW::Mechanize qui n'accepte pas le paramètre "agent_alias" que tu lui fournis.

    Or, la documentation de WWW::Mechanize est claire :
    The list of valid aliases can be returned from "known_agent_aliases()".
    The current list is:

    · Windows IE 6

    · Windows Mozilla

    · Mac Safari

    · Mac Mozilla

    · Linux Mozilla

    · Linux Konqueror
    Tapes donc la commande suivante et choisi une chaine à mettre dans ton agent_alias, ou utilise la méthode agent au lieu de agent_alias pour initialiser le nom de ton agent :

    perl -e 'use WWW::Mechanize;print join ", ", WWW::Mechanize->known_agent_aliases'

Discussions similaires

  1. Aide pour utiliser une fonction dans un "case"
    Par lcoulon dans le forum Débuter
    Réponses: 2
    Dernier message: 15/10/2009, 22h17
  2. Aide pour utilisation d'une fonction DLL
    Par Hell dans le forum Langage
    Réponses: 10
    Dernier message: 22/07/2008, 10h51
  3. Demande d'aide pour utilisation d'un QuickReport
    Par altadeos dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2006, 07h12
  4. de l'aide pour utiliser XSLT
    Par Diallos dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/01/2006, 15h55
  5. Besoin d'aide pour utilisation des trie
    Par bluecurve dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2005, 08h04

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