Entwickler-Ecke

Internet / Netzwerk - Alle Bilder von einer Webseite laden...


neojones - Mi 30.07.03 14:15
Titel: Alle Bilder von einer Webseite laden...
Hallo,

ich muss ein Tool schreiben, das von einer Webseite alle Bilder herunterläd. D.h. ich rufe zuerst die index.html auf, muss die nach Links auf weitere Dateien absuchen, dann aus ser index.html alle Bilder rauslesen mit http get runterladen. Dann alle weiteren Links absuchen und dort auch alle Bilder herunterladen. Der ganze Spass geht bis zu 5 Ebenen.

Problem dabei ist: Die Daten sind meistens in relativen Pfaden gespeichert.

Gibts dafür ne relativ einfach Möglichkeit oder muss ich mir tatsächlich jeweils mit Schleifen alle href's und img's raussuchen und manuell verfolgen? Das wäre nämlich ein ziemlier Act, wenn man da die relativen Pfade noch aufschlüsseln muss in absolute Pfade.

Es gibt zwar vorgefertigte Tools für so was, aber unser Server hat den Apache nicht auf Port 80 laufen (Is eh so ne geile KOnfiguration *g*)

Viele Grüße,

Matthias


Jakyll - Mi 30.07.03 17:42

Ich glaub ich versteh dein problem nicht so ganz...
Ein realtiver Pfad ist doch die referenz zur basisurl. Also hängste einfache den relativen Pfad hinter die Adresse wo du dich gerade befindest..

Oder seh ich da was falsch??


neojones - Mi 30.07.03 17:47

Richtig. Allerdings muss man bei 5 Ebenen bedenken, dass man bis zu 5 Basispfade hat bzw. einen Basispfad und dann in 4 Ebenen relative Pfade, die aneinandergehängt werden.

Meine Frage bezog sich eher darauf: Wie realisiert man das am einfachsten?


matze - Mi 30.07.03 17:56

ich hab hier mal im forum eine schöne kompo gefunden, die hat dir das HTML file geparst und dir sämtliche Tags rausgezogen und das dann als abslute und relative URL zurückgegeben. ich such mal.


matze - Mi 30.07.03 17:59

gefunden !!!

http://www.jazarsoft.com/products.php

das nennt sich HTML Parser !


neojones - Mi 30.07.03 18:25

@matze: Perfekt! Genau das, was ich gesucht habe!!!

Super!!

Viele Grüße,

Matthias


lemming - Do 31.07.03 13:57

Meines wissens nach geht das ganze aber auch so. http://www.hardtware.de/images/../images/../images/bla.jpg


neojones - Do 31.07.03 14:30

Schon, aber da müsste man dann auch immer Basispfade ermitteln.

Ich habs jetzt hinbekommen. Danke für eure Hilfe!

Viele Grüße,

Matthias