cybermotte
Grünschnabel
hallo zusammen,
also habe ein problem mit dem code hier, und zwar speichert er mir die daten nicht herraus wie er es machen soll. nach stundenlangem suchen des fehlers kann ich leider nix entdecken, aber vielleicht gibt es jemanden, dem auffällt was ich falsch mache
hier mal mein code:
und hier der html code aus dem ich das haben möchte:
wäre echt super wenn jemand helfen könnte, danke für eure mühe im vorraus
also habe ein problem mit dem code hier, und zwar speichert er mir die daten nicht herraus wie er es machen soll. nach stundenlangem suchen des fehlers kann ich leider nix entdecken, aber vielleicht gibt es jemanden, dem auffällt was ich falsch mache
hier mal mein code:
Code:
#!/usr/bin/perl -w
#03.05.2004, Version 1.6
use LWP::Simple;
if (@ARGV != 4) {
$0 =~ s#^.*[\\/]##;
&quit_program("Gebrauch: $0 [VON OZEAN] [BIS OZEAN] [GUELTIGE SID] [ZIELDATEI]\nBeispiel: $0 1 114 sid=6=n35H6dkfeqxYzMxEeI ozeane.csv\n");
}
$db_file = $ARGV[3];
open(OUTPUT, "> ".$db_file) or &quit_program("Fehler beim Öffnen der Datei $db_file\n$!\n");
$island_number = $ARGV[0]*100-99;
foreach $ocean_number ($ARGV[0]..$ARGV[1]) {
print "Bearbeite Ozean $ocean_number...\n";
$url = "http://www.insel-monarchie.de/$ARGV[2]/game/karte.php?ozean=$ocean_number";
if (!($bigline=get($url))) {
&quit_program("ABBRUCH! $url nicht erreichbar\n");
}
$bigline =~ s/\s+/ /g;
$bigline =~ s/\\/\\\\/g;
$bigline =~ s/Allianz: Punkte:/Allianz: Punkte:/g;
$bigline =~ s/Insel: Herrscher:/Insel: Herrscher:/g;
while ($bigline =~ m#<p title="Insel: (.*?) Herrscher: (.+?) Allianz: (.*?) Punkte: (-?\d+)"><a href="\./karte_user_info.php\?user=\d+"><img src=".+?" border="0"></a><br>(\d+)<br>#g) {
if ($island_number != $5) {
&quit_program("ABBRUCH! Fehler beim Parsen von Insel $island_number\n");
}
print OUTPUT "$island_number;$ocean_number;\"$1\";\"$2\";\"$3\";\"$4\"\n";
# if ($3 eq "") { print " Insel $island_number ist Allylos!\n"; }
$island_number++;
}
$ocean_number++;
}
&quit_program("ich habe fertig\n");
sub quit_program {
close(OUTPUT);
if (@_ > 0) {
print $_[0];
}
print "\nEingabetaste zum Beenden!"; # Diese Zeile entfernen, wenn GUI nicht benutzt wird
<STDIN>; # Diese Zeile entfernen, wenn GUI nicht benutzt wird
die "\n";
}
und hier der html code aus dem ich das haben möchte:
Code:
<p title="Insel: [SK] ~ Island 76Herrscher: starplanetAllianz: [S.O.D.]~[SAM]SikokuPunkte: 904"><a href="./karte_user_info.php?user=6073"><img src="../images/islands/9.gif" border="0"></a><br><span class="karte">4941<br>[SK] ~ Island
76<br><a href="./karte_user_info.php?user=6073" class="karte"></span><span class=karte>starplanet</span></a></td><td width=70 height=70 valign=middle align=center>
wäre echt super wenn jemand helfen könnte, danke für eure mühe im vorraus