Hallo,
mit welchem Befehl kann man in Delphi (5,6,7) eine Webseite herunterladen?
Soll dass in eine Combobox oder sonst ein Feld abgespeichert werden.
Danke schonmal!
Hallo,
mit welchem Befehl kann man in Delphi (5,6,7) eine Webseite herunterladen?
Soll dass in eine Combobox oder sonst ein Feld abgespeichert werden.
Danke schonmal!
mit welchem Befehl kann man in Delphi (5,6,7) eine Webseite
herunterladen?
Soll dass in eine Combobox oder sonst ein Feld abgespeichert
werden.
Hallo Nick,
kannst Du genauer beschreiben, wie das Herunterladen aussehen soll?
Eine Webseite kann man nicht in einer Combobox abspeichern, sondern höchstens die URL.
Zur Darstellung einer Webseite ist eine Webbrowser-Komponente zu empfehlen. Diese findest Du bei den Delphi-Komponenten unter „Internet“.
Viele Grüße
Manfred
Auch wegen Website Download…
Wie praktisch, genau dazu habe ich auch eine Frage:
Also das man über WerbBrower1.Navigate (URL); die Website erhält ist mir schon klar, aber in welcher Eigenschaft ist der Quelltext gespeichert? Oder mit welcher m´Methode kann ich den Quelltext in ein MemoFeld o.ä. auslesen?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Deus(?),
Wie praktisch, genau dazu habe ich auch eine Frage:
Ja, das ist praktisch.
… in welcher Eigenschaft ist der
Quelltext gespeichert?
In keiner.
Die TWebbrowser-Komponente ist keine Komponente wie z.B. ein TLabel.
Die TWebbrowser-Komponente greift auf die Web-Browser-Funktionen der Shell-Dokumente- und Steuerelementbibliothek SHDOCVW.DLL von Microsoft zu.
An den Quelltext kommst Du über die Eigenschaft „Dokument“.
Mit Document kannst Du auf eine IDispatch-Schnittstelle zugreifen, um unter Verwendung des COM-Objektmodells den Quelltext auslesen.
Es ist eben nicht so einfach.
Oder man benutzt Komponenten wie z.B. die Jedi Komponenten.
Gruß
Manfred
Hä?
Also .Document hab’ ich gerade noch gefunden, aber in der Hilfe steht mehr oder weniger nur „Weitere Informationen über diese Schnittstelle finden Sie im Abschnitt über Dokumentobjekte in der Microsoft-Referenz zu Dynamic HTML.“.
Aber den Rest versteh’ ich nicht… und sonne MS-Help will ich nicht lesen *g*.
Hat da nicht jemand 'nen Source oder so, ich will doch nur den Quelltext auslesen.
Ok, vielleicht wäre es einfacher, wenn man den Inhalt der Webseite in
eine Textdatei sichert?
Es geht mir jedenfalls nur um den HTML Code, ich brauche weder Bilder, noch sonstige Animationen usw.
Ist das echt so schwer mit den Bordmitteln? Welchen Weg geht man mit
den genannten Jedi-Tools?
Die Antwort…
Hallo,
alles, was Du brauchst, ist eine HTTP Komponente (zb. die von Indy) und die Methode GET.
Erstelle einfach eine Instanz der HTTP Kompo und initialisiere sie mit der URL etc. Dann rufe die Methode GET auf und speicher’ das Ergebnis in einem String… Fertig!
Daniel
Die Indy muss man extra installieren? Hast du noch ein paar Infos mehr?
Immerhin weisst du das wahrscheinlich auswendig, und hier interessiert es ein paar Leute, die sich erst einlesen müssten.
Bist du sicher, dass man das ganze Ergebnis in einen einzigen String speichern kann?
alles, was Du brauchst, ist eine HTTP Komponente (zb. die von
Indy) und die Methode GET.Erstelle einfach eine Instanz der HTTP Kompo und initialisiere
sie mit der URL etc. Dann rufe die Methode GET auf und
speicher’ das Ergebnis in einem String… Fertig!Daniel
Hallo
Die Indy muss man extra installieren? Hast du noch ein paar
Infos mehr?
Die Indy KOmponenten sind bei Delphi standardmäßig dabei, neuere kann man aber von der Indy Website (-> Google) runterladen.
Bist du sicher, dass man das ganze Ergebnis in einen einzigen
String speichern kann?
Klar, das ist kein Problem.
Hier ein Beispielcode:
Dazu brauchst Du nur die IdHTTP Komponente (hier HTTP genannt) aus der Kategorie Indy Clients und ein normales Edit.
Edit1.Text := HTTP.Get("http://www.wer-weiss-was.de")
Daniel
Hi,
danke, das mit Indy hat funktioniert. In der Doku finde ich aber nichts, womit ich Fehlerbehandlung machen kann, z.B. wenn kein
Netz verfügbar ist, oder die Seite nicht mehr erreichbar usw.
Wenn ich auf diese Art eine Seite herunterlade, lässt sich das Programmfenster nicht bedienen und verschieben, solange noch geladen wird. In meinem Fall geht es um eine spezielle Seite mit mehreren MB, so dass es nicht schlecht wäre, wenn man das irgendwie noch einbinden könnte. Aber wie das geht, weiss ich nicht.