How can I extract URL and link text from HTML in Perl?

Please look at using the WWW::Mechanize module for this. It will fetch your web pages for you, and then give you easy-to-work with lists of URLs.

my $mech = WWW::Mechanize->new();
$mech->get( $some_url );
my @links = $mech->links();
for my $link ( @links ) {
    printf "%s, %s\n", $link->text, $link->url;
}

Pretty simple, and if you’re looking to navigate to other URLs on that page, it’s even simpler.

Mech is basically a browser in an object.

Leave a Comment