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
|
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";
} |
Partager