Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PERL] problème avec le module TreeBuilder

    7 juin 2020 à 4:58:53

    Bonjour,
    je tente de parcourir, via PERL, des pages du site IMDB (les films d'un acteur donné plus particulièrement) en utilisant le module Mechanize et ensuite extraire leurs textes bruts (le genre des films) avec HTML::TreeBuilder et ensuite en faire un tableau d'hachage.

    Mon code compile mais le dernier print n'affiche rien donc je pense qu'il y a un problème concernant le tableau d'hashage (%index) ou la façon dont j'ai utilisé TreeBuilder. Quelqu'un pourrait-il m'aider? :)


    use LWP::Simple;
    use PerlIO::locale;
    use WWW::Mechanize::Link;
    use HTML::TreeBuilder;
    use WWW::Mechanize;
    binmode STDOUT, ':locale';
    use strict;
    use warnings;
    
    print "Entrez le nom du premier acteur: ";
    my $acteur1 = <STDIN>;
    print "Nous allons analyser la filmographie de l'acteur $acteur1 en fonction du genre\n";
    
    my $lien1 = "https://www.imdb.com/find?s=nm&q=$acteur1";
    my $mech = WWW::Mechanize->new();
    $mech->get($lien1);
    $mech->follow_link( url_regex => qr/nm0/i );
    my @url_links= $mech->find_all_links( url_regex => qr/title\/tt/i );
    my $nb_links = @url_links;
    
    my $tree = HTML::TreeBuilder->new();
    my %index;
    my $mech1 = WWW::Mechanize::Link->new();
    
    my @genres = ();
    for ( my $i = 1 ; $i <= $nb_links ; $i++ ) {
    $mech1-> url($url_links[$i]);
    $tree->parse($mech1);
    @genres = $tree->look_down (
    'class', 'see-more inline canwrap',
    sub {
    my $link = $_[0]->look_down('_tag','a');
    return 1 if $link->attr('href') =~ m{genres=};
    return 0;
    }
    );
    }
    
    foreach my $e (@genres){
    my $genre = $e->as_text;
    $index{$genre}++;
    }
    
    $tree->delete;
    
    print "Les genres de films que $acteur1 a faits (en pourcentage)\n";
    foreach my $cle (sort{$index{$b} <=> $index{$a}} keys %index){
    print "($index{$cle}/$nb_links) de sa filmographie a comme genre: $cle\n";
    }



    -
    Edité par wobot1340 10 juillet 2020 à 23:18:47

    • Partager sur Facebook
    • Partager sur Twitter
      6 juillet 2020 à 23:18:08

      Quelqu'un pourrait m'aider? 

      Je désespére un peu là...

      • Partager sur Facebook
      • Partager sur Twitter

      [PERL] problème avec le module TreeBuilder

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown