Вы можете использовать WWW :: Mechanize :: Firefox для управления экземпляром Firefox и выгрузки отображаемой страницы с помощью $mech->content_as_png
.
Имейте в виду, что его настройка может быть довольно сложной задачей.
Если все работает должным образом, вы можете просто использовать скрипт, подобный этому, для выгрузки изображений желаемых сайтов, но вы должны запустить Firefox и изменить его размер до желаемой ширины вручную (высота не имеет значения, WWW :: Mechanize: : Firefox всегда сбрасывает всю страницу).
use WWW::Mechanize::Firefox;
use Path::Class qw/file/;
my $mech = WWW::Mechanize::Firefox->new(
bufsize => 10_000_000, # PNGs might become huge
);
$mech->get('http://www.stackoverflow.com/');
my $fh = file( 'test.png' )->open( '> :raw' );
print $fh $mech->content_as_png();