wollte mich mal wieder melden...
hab eine Aufgabe - moechte von web-sites (2500) screenshots machen - brauche diese als Thumbnails...
Also ich habe ein Verzeichnis mit Urls - das nenne ich mal urls.txt soweit so gut.
Das sieht dann also so aus:
- Code: Select all
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
Dazu hab ich folgenden Code - der läuft auch nicht schlecht!
- Code: Select all
#!/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, '>', "/images/$name")or die $!;
binmode $out;
print $out $png;
close $out;
sleep 5;
}
alles liegt in diesem Ordner drinne:
- Code: Select all
/home/martin/perl
und jetzt kommt der Punkt - ich krieg das script nicht dazu das es in den Ordner images reinschreibt
- Code: Select all
/home/martin/perl/images
- es macht immer alles aber nicht das was ich will.
M.a.W. es ist wie verhext - in den Ornder schreibts nicht rein. ABER ich glaube ich muss sowieso aufpassen - es kann nämlich auch sein, dass ich den Ordner
ggf. irgendwie falsch angelegt habe - mit systemrechten oder so. DAS kann dann ggf. dazu fuehren dass ich dann am Ende eines erreiche.
Dass ich Rechtprobleme bekomme und dann der Ordner nicht mehr beschrieben wird & werden kann.
Frage also - wie kann ich das denn umgehen - wie kan ich (jetzt an dieser Stelle) das Problem umgehen und das ganze so einrichten dass auf jeden FALL in
einen separaten Ordner geschrieben wird!?
Dazu koennte ich doch einen Ordner einrichten der ausserhalb lieght - ausserhalb von
- Code: Select all
/home/martin/perl
Frage - wie müsste denn dann die Zeile aussehen - diese hier ...
- Code: Select all
open(my $out, '>', "/images/$name")or die $!;
Freu mich auf einen Tipp
viele Gruesse