[perl] parsing html

wassim -  
wass Messages postés 10 Statut Membre -
Bonjour,
Je voudrais récupérer des données affichées sur une pages web à partir d'une base de donnée en faisant du parsing html à l'aide de perl.
Quelqu'un peut m'aider s'il vous plaît?
Merci d'avance!

4 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    regarde sur CPAN le module HTML::PARSER

    https://metacpan.org/pod/release/GAAS/HTML-Parser-3.55/Parser.pm

    lami20j
    0
    1. wass Messages postés 10 Statut Membre
       
      Tout d'abord,merci pour ton aide,
      mais je t'avoue que je ne suis pas un spécialiste en perl et que je n'ai presque rien compris à ce lien, surtout que c'est en anglais!
      et en plus c une adresse html que je veux donner a perl pourqu'il me ressorte ce que je veux recuperer.
      J'ai utilisé ce code la pr recuperer les liens des dites web qui sont dans la page:

      use LWP::UserAgent;
      use HTML::LinkExtor;
      use URI::URL;

      $url = " http://tibrvrdtigdfidev1:7580/routers/"; # for instance
      $ua = LWP::UserAgent->new;

      # Set up a callback that collect image links
      my @sites = ();
      sub callback {
      my($tag, %links) = @_;
      return if $tag ne 'a'; # we only look closer at <img ...>
      push(@sites, values %links);
      }

      # Make the parser. Unfortunately, we don't know the base yet
      # (it might be diffent from $url)
      $p = HTML::LinkExtor->new(\&callback);

      # Request document and parse it as it arrives
      $res = $ua->request(HTTP::Request->new(GET => $url),
      sub {$p->parse($_[0])});

      # Expand all image URLs to absolute ones
      my $base = $res->base;
      @sites = map { $_ = url($_, $base)->abs; } @sites;

      # Print them out
      print join ("\n", @sites), "\n";





      Mais les données qui viennent de la base contiennent aussi des balises <a href> donc je ne vois pas prquoi elles ne sont pas affichées comme les autres liens,

      J'espère que j'ai été assez clair :)
      et que tu pourras m'aider!
      0
    2. wass Messages postés 10 Statut Membre
       
      C'est peut etre parceque la page que je veux parser est protegee par nu mot de passe!
      alors quesquil faut mettre en plus dans la fonction pr entrer un login et mot de passe automatikmnt?
      Merci
      0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    je suis au boulot donc je ne peux pas tester. Je vais regarder ce soir.

    En revanche j'ai besoin de savoir ce que tu veux récuperer avec un peu plus de précision. Merci.

    lami20j
    0
    1. wass Messages postés 10 Statut Membre
       
      re,
      en fait, c'est une page qui affiche une liste de noms de routeurs (en mettant un lien pour chaque routeur pour pouvoir voir ses infos et les autres routeurs connectes a celui la)
      0
  3. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      euh... si tu veux j'en fais en Python.

      Je suis d'accord avec toi ;) Ca m'evitera de travailler ce soir :-)

      lami20j
      0
    2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
       
      :-)

      Non non, je ne fais que proposer, je n'impose rien.
      0
    3. wass Messages postés 10 Statut Membre > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
       
      euh.. je vais essayer de leur proposer ac au boulot mais je sais pas s'il accepterons :)
      je te tiens au courant!
      merci
      0
    4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Qui parle d'imposer quelquechose?: ;)

      D'ailleurs je pense que tu sais dans quel esprit je parle :-)

      lami20j
      0
    5. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
       
      dans quel esprit je parle

      Oups, j'ai fait une erreur ;)

      Je voulais dire dans quel esprit je perle :-)

      lami20j
      0