#!/usr/bin/perl use WWW::Mechanize; use Data::Dumper; my @links; my $mech = new WWW::Mechanize; my $LINK_TO_FIND = $ARGV[1]; my %visits; push(@links, $ARGV[0]); $ARGV[0] =~ m!^https?://([^/]+)!; my $dotcom = $1; while (scalar(@links) > 0) { my $url = pop(@links); next if (defined($visits{$url})); print "Visiting: $url\n"; $mech->get($url); $visits{$url} = 1; my $base = $url; foreach my $linky ($mech->links()) { my $thisurl = $linky->url_abs(); if ($thisurl =~ m!^\Q$LINK_TO_FIND\E!) { print "-" x 40 . "\n"; print "FOUND URL!!!\n"; print "Page it's on: $url\n"; exit 0; } if ( ($thisurl =~ m!^https?://!) && ($thisurl !~ m!^https?://$dotcom/!) ) { #print STDERR "OFFSITE URL: $thisurl\n"; next; } if ($thisurl =~ m/mailto:/) { #print STDERR "MAILTO URL: $thisurl\n"; next; } push(@links, $thisurl) unless (defined($visits{$thisurl})); } }