Ну, для меня Perl иногда выглядит как Abracadabra
Огромное спасибо за терпение со мной ...
обновление; были некоторые ошибки до тех пор, пока пользователь 1269651 и Бодойн не предложили исправление
см. Результаты кода bodoins .. (обратите внимание, что он однажды изменил код - я использовал здесь самую первую версию ...:;
linux-wyee:/home/martin/perl # perl test_7.pl
http://www.unifr.ch/sfm
http://www.zug.phz.ch
http://www.schwyz.phz.ch
http://www.luzern.phz.ch
http://www.schwyz.phz.ch http://www.phvs.ch http://www.phtg.ch http://www.phsg.ch http://www.phsh.ch Use of uninitialized value $png in print at test_7.pl line 25, <$urls> line 10. http://www.phr.ch http://www.hepfr.ch/
http://www.phbern.ch
http://www.ph-solothurn.ch
http://www.pfh-gr.ch
Got status code 500 at test_7.pl line 14
linux-wyee:/home/martin/perl #
и последняя версия кода bodins - некоторые результаты выглядят так ...
Can't call method "addProgressListener" on an undefined value at /usr/lib/perl5/site_perl/5.14.2/WWW/Mechanize/Firefox.pm line 566, <$urls> line 12.
ну, осталось несколько мелких вещей - см. Выше ... что мы можем сделать с этими маленькими ошибками ...
кстати: как насчет идеи хранить результаты в папке. .. / (называемые изображениями или около того!?)
конец обновления ...
здесь начинается начальная нить - и дается план того, что нужно:
мне нужно иметь несколько миниатюр с веб-сайтов, но я попытался использовать wget - но это не работает для меня, так как мне нужны некоторые функции рендеринга, что нужно: у меня есть список из 2500 URL-адресов, по одному в каждой строке, сохраненный в файле. Затем я хочу сценарий - см. Ниже - чтобы открыть файл, прочитать строку, затем получить веб-сайт и сохранить изображение в виде небольшого эскиза.
хорошо, так как у меня есть куча веб-сайтов (2500), я должен определиться с именами результатов.
http://www.unifr.ch/sfm
http://www.zug.phz.ch
http://www.schwyz.phz.ch
http://www.luzern.phz.ch
http://www.schwyz.phz.ch
http://www.phvs.ch
http://www.phtg.ch
http://www.phsg.ch
http://www.phsh.ch
http://www.phr.ch
http://www.hepfr.ch/
http://www.phbern.ch
Пока все хорошо, я думаю, что попробую что-то вроде этого
Мы также должны закрыть обработчик файлов, если он нам больше не нужен. Помимо этого мы можем использовать «или умереть» на открытии. я сделал это - см. ниже!
Кстати, нам нужно хорошее имя файла. Так как у меня есть огромный список URL-адресов, я получаю огромный список выходных файлов. Поэтому мне нужно иметь хорошие имена файлов. Можем ли мы отразить эти вещи и потребности в программе!?
скрипт вообще не запускается ....
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize::Firefox;
my $mech = new WWW::Mechanize::Firefox();
open(INPUT, "<urls.txt") or die $!;
while (<INPUT>) {
chomp;
next if $_ =~ m/http/i;
print "$_\n";
$mech->get($_);
my $png = $mech->content_as_png();
my $name = "$_";
$name =~s#http://##is;
$name =~s#/##gis;$name =~s#\s+\z##is;$name =~s#\A\s+##is;
$name =~s/^www\.//;
$name .= ".png";
open(my $out, ">",$name) or die $!;
binmode($out);
print $out $png;
close($out);
sleep (5);
}