Internet (Header) Überschirften autom. auslesen

Hallo,

würde gerne aus einer Homepage die mehrere Unterseiten hat, per automatischen Programm die Internetheader der Seiten auslesen und abspeichern.

Konkret sprich wenn www.testseite.de/001 bis www.testseite.de/1000 immer eine andere überschrift haben möchte ich eine Tabelle haben in der jeweils die Überschrift der einzelnen Seiten stehen. Mit Überschrift meine ich den Header der Seite, welche auch im Browser in der Titelleiste zu lesen ist.

Wie kann ich das am besten machen, bzw. gibt es vielleicht sowas schon irgendwo

Hallo!

Konkret sprich wenn www.testseite.de/001 bis
www.testseite.de/1000 immer eine andere überschrift haben
möchte ich eine Tabelle haben in der jeweils die Überschrift
der einzelnen Seiten stehen. Mit Überschrift meine ich den
Header der Seite, welche auch im Browser in der Titelleiste zu
lesen ist.

Was du suchst, nennt sich Title. Der Header ist etwas anderes (und enthält u.a. den Title).

Wie kann ich das am besten machen,

In einer Schleife von 0 bis 1000 die Seiten runterladen und jeweils den Text zwischen und ermitteln. In Python/Perl/Ruby wären das einige wenige Zeilen.

bzw. gibt es vielleicht sowas schon irgendwo

Mit wget geht das sicherlich. Aber bis man da die richtigen Aufrufparameter zusammen hat, ist das Skript längst geschrieben.

Gruß
M.

Danke für die Antowrt erstmal.

Leider habe ich nur Programmiererfahrung in Java/C/Visual Basic und SQL. Deswegen weiss ich nicht genau wie ich da gleich am besten in eine andere Programmiersprache einsteige.

Würde es deswegen gern in Visual Basic/C/oder Java schreiben, aber da finde ich einfach nix passendes.

Hattest du paar Infos wo ich die einzelnen Befehle bzw. ähnliche Programm anschauen kann.

Hi!

Leider habe ich nur Programmiererfahrung in Java/C/Visual
Basic und SQL. Deswegen weiss ich nicht genau wie ich da
gleich am besten in eine andere Programmiersprache einsteige.

Falls Programmierung für dich langfristig von Interesse ist,
unbedingt noch eine Skriptsprache lernen. Die Effizienz ist
ungleich höher.

Würde es deswegen gern in Visual Basic/C/oder Java schreiben,
aber da finde ich einfach nix passendes.

Wo suchst du denn :wink: Java hat doch nun wirklich alles und
die VBler behaupten das von ihrer Sprache auch ständig.
Also, Java kennt die Klasse URL, die u.a. eine Methode
openStream() hat. Damit kann man die HTML-Datei einlesen.
Und um an irgendwas in einer Zeichenkette heranzukommen,
gibt es dann ja unzählige Möglichkeiten.

Gruß M.

Hallo,

Konkret sprich wenn www.testseite.de/001 bis
www.testseite.de/1000 immer eine andere überschrift haben
möchte ich eine Tabelle haben in der jeweils die Überschrift
der einzelnen Seiten stehen. Mit Überschrift meine ich den
Header der Seite, welche auch im Browser in der Titelleiste zu
lesen ist.

Wie kann ich das am besten machen, bzw. gibt es vielleicht
sowas schon irgendwo

Wie Mettmann schon schrieb, in Java geht das, ist aber
etwas länglich. Wenn man Perl oder Python hat, braucht
man gar kein Programm dazu.

Bei wget muß man das Resultat außerdem noch extrahieren.
In Perl (Linux) wäre es dagegen:

perl -MLWP::Simple -e ‚for(1…1000){$s=$ARGV[0].sprintf("%03d",$_);print"$s\t$1\n" if get($s)=~/(.+?)/}‘ http://www.testseite.de/ > tabelle.txt

Unter Windows (cmd-shell) muß man die Stringzeichen ändern:

perl -MLWP::Simple -e „for (1…1000){$s=$ARGV[0].sprintf(qq{%%03d},$_);print qq{$s\t$1\n} if get($s)=~/(.+?)/}“ http://www.testseite.de/ > tabelle.txt

Wie Du siehst, kann man so etwas durch die „Eingabe einer Kommandozeile“
in einer Skriptsprache erreichen.

In Java gänge das wohl mit

 ...
 URL u = new URL("http://www.testseite.de/" + nubber);
 DataInputStream HTML = new DataInputStream(u.openStream());
 while ((line = HTML.readLine()) != null) {
 System.out.println(line);
 } 
 ...

Aber da frägst Du besser im Java-Forum.

Grüße

CMБ