朋友们
我有一个很好的脚本,可以用作图像刮板。对于第一次试验和测试,一切顺利。
这是我在针对脚本运行的 urls.txt 中使用的 URL 列表。请注意,这只是一个简短的列表。我需要针对 2500 个 URL 运行,所以如果脚本更健壮一点并且如果某些 URL 不可用或花费太多时间来获取它会继续运行,那就太好了。我认为如果某些 URL 不可用或花费太多时间或阻止 mozrepl 和WWW:Mechanize::Firefox花费太多时间,脚本会遇到一些问题。
您认为我的想法和建议可能是问题的原因吗?如果是这样,我们如何改进脚本并使其更强大、更强大和更健壮,以便它不会过早停止。
期待您的来信。
问候。
http://www.bez-zofingen.ch
http://www.schulesins.ch
http://www.schulen-turgi.ch/pages/bezirksschule/startseite.php
http://www.schinznach-dorf.ch
http://www.schule-seengen.ch
http://www.gilgenberg.ch/schule/bez/2005-06/
http://www.rheinfelden-schulen.ch/bezirksschule/
http://www.bezmuri.ch
http://www.moehlin.ch/schulen/
http://www.schule-mewo.ch
http://www.bez-frick.ch
http://www.bezendingen.ch
http://www.bezbrugg.ch
http://www.schule-bremgarten.ch/content/view/20/37/
http://www.bez-balsthal.ch
http://www.schule-baden.ch
http://bezaarau.educanet2.ch/info/.ws_gen/index.htm
http://www.benedict-basel.ch
http://www.institut-beatenberg.ch/
http://www.schulewilchingen.ch
http://www.ksuo.ch
http://www.international-school.ch
http://www.vsgtaegerwilen.ch/
http://www.vgk.ch/
http://www.vstb.ch
但是我想如果它比现在更强大,我会很高兴。
当然,它正在驱动一个真正的浏览器,就像 WWW::Mechanize::Firefox
所以在某个地方它可能有点不稳定,可能比任何其他屏幕抓取解决方案都更不稳定。我收到如下错误...(见下文)
请注意,我还仔细查看了Firefox 故障排除中的调试页面, 其中包含有关各种错误、麻烦和类似问题的提示、技巧和解决方法。
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize::Firefox;
my $mech = new WWW::Mechanize::Firefox();
open my $URLs, '<', 'URLs.txt' or die $!;
while (<$URLs>) {
chomp;
next unless /^http/I;
print "$_\n";
$mech->get($_);
my $png = $mech->content_as_png;
my $name = $_;
$name =~ s#^http://##I;
$name =~ s#/##g;
$name =~ s/\s+\z//;
$name =~ s/\A\s+//;
$name =~ s/^www\.//;
$name .= ".png";
open(my $out, '>', "/home/martin/images/$name") or die $!;
binmode $out;
print $out $png;
close $out;
sleep 5;
}
查看结果以及它停止的错误。
martin@linux-wyee:~/perl> perl test_10.pl
http://www.bez-zofingen.ch
Datei oder Verzeichnis nicht gefunden at test_10.pl line 24, <$URLs> line 3.
martin@linux-wyee:~/perl> perl test_10.pl
http://www.bez-zofingen.ch
http://www.schulesins.ch
http://www.schulen-turgi.ch/pages/bezirksschule/startseite.php
http://www.schinznach-dorf.ch
http://www.schule-seengen.ch
http://www.gilgenberg.ch/schule/bez/2005-06/
http://www.rheinfelden-schulen.ch/bezirksschule/
Not Found at test_10.pl line 15
martin@linux-wyee:~/perl>
你有什么建议?我们怎样才能使脚本更健壮一点?怎么弄才不会这么早停?