Bonjour j'ai un petit bout de code destiné a extraire des liens d'une page web mon code fonctionne mais je voudrais qu'il soit,plus simple car le foreach() prend quand même du temps , j'ai essayer de faire moi meme mais je n'y suis pas arrivé
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 sub extraire_liens { my (@liens, $lesliens); $code = shift; $url = shift; my $parseur = HTML::LinkExtor->new(sub { my($tag, %attr) = @_; return if $tag ne 'a'; push(@liens, values %attr); }); $parseur->parse($code); foreach my $uri ( map { $_ = url($_, $url)->abs; } @liens ) { $lesliens->{$uri} = 1; } return $lesliens; }
Partager