2010-09-06 9 views

Répondre

5

La méthode classique d'exploration de sites dans Perl est WWW::Mechanize qui a une méthode de liens qui renvoie une liste de tous les liens de la page. Vous pouvez récupérer une page, en obtenir les liens, puis utiliser la méthode follow_link() ou get() pour obtenir la page liée.

+0

Merci, je connais déjà ce module, mais c'est trop (?) D'un overhead pour l'utiliser seulement pour cette fonction je suppose – snoofkin

1

Une autre méthode consiste à utiliser HTML::TreeBuilder pour analyser le code HTML de la page. Il retourne un arbre d'objets que vous pouvez utiliser pour récupérer tous les liens d'une page, et il peut faire beaucoup plus, comme trouver un lien basé sur un modèle d'expression rationnelle que vous spécifiez. Consultez la documentation de HTML :: Element pour en savoir plus.

Pour trouver tous les liens dans une page:

use HTML::TreeBuilder; 
use LWP::Simple; 

my $url = 'http://www.example.com/'; 
my $html = HTML::TreeBuilder->new_from_content(get($url)); 

my @links = $html->look_down('_tag' => 'a'); 

Je crois LWP :: Simple et HTML :: TreeBuilder sont tous deux inclus dans Ubuntu aussi bien.

Questions connexes