SNOWMAN Geschrieben 10. Februar 2005 Teilen Geschrieben 10. Februar 2005 Tach, ich bau mir grad n Skript das mir Teile aus ner anderen Seite holt. Es macht die Seite auf durchsucht sie nach nem RegEx-Match nach nem einzigartigen Wort und geh von dort 14 Zeilen nach unten (vllt. sinds auch nur 13, aber egal) Dort werde ich noch mit Substrings das wichtige herausfiltern. Nunja, sieht wie folgt aus: #!/usr/bin/perl use strict; use CGI::Carp qw(fatalsToBrowser); print "Content-type: text/html\n\n"; open(DATEI, "http://www.audioscrobbler.com/user/SNOWMAN-X/"); print "DEBUG: Datei geöffnet\n"; while (<DATEI>) { my $line = $_; my $zahler; print "DEBUG: Innerhalb While-Schleife | Variablen gesetzt\n"; if($line =~ m/recenttracks/) { print "DEBUG: Matchbedingung erfüllt, Zeile gefunden\n"; for($zahler = 0 ; $zahler < 14 ; $zahler + 1) { print "DEBUG: Innerhalb For-Schleife\n"; print "DEBUG: Durchlauf: $zahler\n"; $line = <DATEI>; } } } close DATEI; Auf jedenfall gehts net, kann die Datei nich öffnen... 100% sicher das die Syntax falsch ist denn vorhin, bevor ich mei naltes skript gelsöcht hab (erschießt mich!) hab ich die datei auf gemacht und JEDE Zeile ausgegeben. Ergebniss, die Seite wie in Original! Jetzt gehts nich mehr :/ WHY? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dummabua Geschrieben 11. Februar 2005 Teilen Geschrieben 11. Februar 2005 hi, wie weit kommt das Script? mach mal use warnings - gibt oft aufschluss über die fehler... also ich habs mal getestet und er meinte: Content-type: text/html DEBUG: Datei geoeffnet Und was mir auch noch aufgefallen ist: schreib bei deinem regex mal ein "i" dahinter, weil du den namen klein geschrieben hast und auf der page is der erste buchstabe gross ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alligator Geschrieben 11. Februar 2005 Teilen Geschrieben 11. Februar 2005 Hi, zum öffnen anderer Website nimmt man das Modul LWP(-Simple). cya alligator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 11. Februar 2005 Autor Teilen Geschrieben 11. Februar 2005 @ dummabua: ja, das wird imer angezeigt, hab wohl grad ne version ohne "or die" drin, sonst würde "Datei konnte nicht geöffnet werden!" da stehen. Werds gleich ma korrigieren @ alligator: also einfach noch "use LWP(-Simple);" mit rein? Ich tests mal Aktueller Steststatus: läuft Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 11. Februar 2005 Autor Teilen Geschrieben 11. Februar 2005 sieht schlecht aus... knueppeldick.de.ms/cgi-bin/iplay.cgi #!/usr/bin/perl use strict; use CGI::Carp qw(fatalsToBrowser); use LWP(-Simple); print "Content-type: text/html\n\n"; print "DEBUG: Versuche Seite zu lesen\n"; open(DATEI, "http://www.audioscrobbler.com/user/SNOWMAN-X/") || die "Seite konnte nicht gelesen werden!"; while (<DATEI>) { my $line = $_; my $zahler; print "DEBUG: Innerhalb While-Schleife | Variablen gesetzt\n"; if($line =~ m/recenttracks/i) { print "DEBUG: Matchbedingung erfüllt, Zeile gefunden\n"; for($zahler = 0 ; $zahler < 14 ; $zahler + 1) { print "DEBUG: Innerhalb For-Schleife\n"; print "DEBUG: Durchlauf: $zahler\n"; $line = <DATEI>; } } } close DATEI; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alligator Geschrieben 11. Februar 2005 Teilen Geschrieben 11. Februar 2005 Hallo, hier mal ein kleiner Einstieg, aber bitte RTFM, dann wieder fragen ... use LWP::UserAgent; $ua = LWP::UserAgent->new(); $url = 'http://www.irgendwo.de/'; $Anfrage = HTTP::Request->new('GET', $url); $Antwort = $ua->request($Anfrage); unless ($Antwort->is_success() ) { print "Error-Code : ", $Antwort->code() , "\n"; print "Fehlermeldung: ", $Antwort->message() , "\n"; } cya alligator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.