私にとって、Perl は時々 Abracadabra のように見えます。私との忍耐に感謝します...
アップデート; user1269651とBodoinが素晴らしい修正を提供するまで、いくつかのエラーがありました
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を使用しようとしました-しかし、必要なものをレンダリングする機能が必要なので、それは私にとってはうまくいきません:ファイルに保存された2,500個のURLのリストがあります。 . 次に、スクリプトが必要です-以下を参照してください-ファイルを開き、行を読み取り、Web サイトを取得して画像を小さなサムネイルとして保存します。
私はたくさんのウェブサイト (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
これまでのところとても良いです。まあ、私はこのようなことを試してみると思います
また、必要がなくなった場合は、ファイルハンドラーを閉じる必要があります。これに加えて、open で 'or die' を使用できます。私はそれをやった - 以下を参照してください!
ところで、適切なファイル名が必要です。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);
}