Wie kann ich via VB, die auf einer bestimmten Website enthaltene Grafik abspeichern? (arbeite mit VB 6.0 SP6)
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
Bitte niemals mit Inf_ormationen geizen, das ist einer guten Antwort abträglich.
Dateidownload mit Fortschrittsanzeige
HTTP Klasse
Sorry, werde das mal genauer beschreiben:
Mit Hilfe des Internet Transfer Control bekomme ich den Quelltext der gewünschten Seite. Auf dieser Befindet sich ein Bild, welches ich als Bild.jpg abspeichern möchte. Als Information steht nur den HTML Quelltext zur Verfügung
Demm kann dann doch ohne größere Umstände die URL des Bildes ermittelt werden?!
Das ist richtig. Nun weiss ich aber nicht wie ich das Bild abspeichern soll. Bitte weiterhin um Hilfe. Anwender
Zum Download + speichern auf der Platte sollten die Links von T-Rex doch reichen? (Ich sehe da zumindest nichts was für diese Aufgabe fehlen würde...)
Ich fasse es mal zusammen:
Mit Hilfe des Internet Transfer Control bekomme ich den Quelltext der gewünschten Seite.
Als Inf_ormation steht nur den HTML Quelltext zur Verfügung
Demm kann dann doch ohne größere Umstände die URL des Bildes ermittelt werden?!
Das ist richtig. Nun weiss ich aber nicht wie ich das Bild abspeichern soll.
Wenn also die URL des bildes vorliegt, ist lediglich das exakt identische verfahren, wie für das herunterladen der website, zu verwenden.
Wenn also z.b. sich in der seite "http://www.bilder-galore.de/pages/seite3.html" die URL "../pics/wueste023.jpg" befindet, ist die URL für das herunterladen eben:
http://www.bilder-galore.de/pages/../pics/wueste023.jpg
bzw. gekürzt:
http://www.bilder-galore.de/pics/wueste023.jpg
Beachten muss man noch evtl. angaben zum basispfad (http://de.selfhtml.org/html/kopfdaten/basis.htm). Bei absoluten pfaden nimmt man die URL direkt.
Die selbe funktion, die die HTML seite heruntergeladen hat, wird nun mit dieser URL zum herunterladen des bildes verwendet. Et voilà.
mr.escape
So weit versteh ich das ja auch. Nur mit dem Vorgang des Speichern happerts noch.
Kann mir jemand ein kleines Beispiel geben, wie ich mit Hilfe der "Dateidownload mit Fortschrittsanzeige " - Klasse ein Bild an einem beliebigen Ort abspeichern kann?
Anwender
Aus dem beispielprojekt:
Dim fh As Long 'das ist neu
mestring = cls.Downloadfile(Text1.Text) 'da kommt die datei an, cls = New clsDownload
'das ist neu
fh = FreeFile
Open "c:\bild.jpg" For Output As #fh
Print #fh, mestring; 'semikolon am ende !!!
Close #fh
'das ist neu
wie die maximale dateigröße ist weiß ich nicht (200KB gehen aber). Sinnvollerweise sollten die einzelnen teile schon beim herunterladen gespeichert werden aber für ein paar nicht zu große dateien sollte diese dreckige version reichen.
mr.escape
Vielen für die Hilfe. Genau so brauche ich es.
Noch eine Frage: Wird der Download in jedem Fall ein String sein?
1.) syntaktisch: ja
2.) semantisch: nein
1.) die methode Downloadfile liefert als resultat immer String zurück.
2.) Was genau heruntergeladen wurde, hängt von der URL ab. Bei HTML u.ä. kann man den inhalt als string ansehen, in der bedeutung: text, lesbar. Bei jpg, gif, etc. ist der inhalt binär und nicht direkt lesbar, sondern nur von einer passenden anwendung darzustellen. Bei bestimmten daten können auch lesbare teile und binärdaten vermischt sein, die richtige darstellung ist dann wie bei binären daten.
mr.escape