#!/usr/bin/perl -w require "cgi-lib.pl"; use HTML::LinkExtor; use LWP::Simple; use LWP; use LWP::UserAgent; use URI::URL; print "Content-type: text/html\n\n"; print "
"; print "Rezultat analize"; print "

"; # Get parameter and then retrieve the page ########################################## &getdatetime; if (&ReadParse(*input)) { if (defined($input{'url'})) { if ($input{'url'} ne"") { $base_url = "$input{'url'}"; &getdatetime; print "Začetek analize: $long_date


\n"; &analyse; &getdatetime; print "
Konec analize: $long_date\n
"; } else { print "
Niste vpisali URLja!."; } } else { print "
Ni podanih parametrov! Vpišite URL ali pa naložite datoteko z URLji."; } } ################### # Analyse page! ################### sub analyse { @URLS = ("$base_url"); $browser = LWP::UserAgent->new(); $browser->agent("MatejKovacic/perlgeek"); $webdoc = $browser->request(HTTP::Request->new(GET => $page)); foreach $url (@URLS) { $webdoc = $browser->request(HTTP::Request->new(GET => $url)); if ($webdoc->is_success) { print "URL strani: $url
"; print "Naslov (title) strani: ", $webdoc->title, "
"; print "Tip dokumenta: ", $webdoc->content_type, "
"; print "Bazni HTML ki se naloži: ", $webdoc->base, "
"; my @images = $webdoc->content =~ m{ < \s* img \s* ["|']? ( [^\s>'"]+ ) ['|"]? }xgm; $num_img=@images; print "Število vključenih slik v dokumentu: $num_img

"; print "Seznam povezav v dokumentu:
"; # NAREDI EXTRACT LINKA ###################### $parser = HTML::LinkExtor->new(undef, $base_url); $parser->parse(get($base_url))->eof; @links = $parser->links; foreach $linkarray (@links) { my @element = @$linkarray; my $elt_type = shift @element; while (@element) { my ($attr_name , $attr_value) = splice(@element, 0, 2); $seen{$attr_value}++; } } $i = 0; for (sort keys %seen) { $arr[$i] = $_; $zapst = $i+1; print "$zapst.) @arr[$i]
\n"; $i++; } print "


Analiza $url končana.
\n"; } else { print "URL $url ne obstaja!"; } } } ################### # Get date and time ################### sub getdatetime { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $month = ($mon + 1); @months = ("januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"); $year += 1900; $long_date = sprintf("%02d. %s, %4d ob %02d:%02d:%02d",$mday,$months[$mon],$year,$hour,$min,$sec); }