package Onsite::Template::Plugin::Mirror;
use strict;
use warnings;
use HTML::TokeParser::Simple;
BEGIN {
require LWP::Simple;
}
use base qw/Onsite::Template::Plugin::Base/;
sub run {
my $self = shift;
my $site = $self->get_site;
my $html = LWP::Simple::get( $site );
my $output = '';
if ( ! $html ) {
$output = "Could not retrieve Web page for '$site'";
}
else {
my $p = HTML::TokeParser::Simple->new( \$html );
my $token;
do { $token = $p->get_token } until $token->is_start_tag('body');
do {
$token = $p->get_token;
last if ! $token; # just in case someone forgets a closing body tag
$output .= $token->return_text;
} until $token->is_end_tag('body');
}
return $output;
}
####
http://somesite.com/mod_perl/index.cgi?page=3&site=http://some_target.com