FAQ 0130: Wie kann ich den Quelltext einer Internetseite auslesen?
von Helge Rex
Frage
Wie kann ich den Quelltext einer Internetseite unmittelbar nach dem Laden derselben auslesen?
Quelltext einer Seite
Für diese Aufgabe ist das Ereignis DocumentComplete des Webbrowser-Steuerelementes vorgesehen:
Private Sub WebBrowser1_DocumentComplete( _ ByVal pDisp As Object, _ URL As Variant) If TypeName$(pDisp) = "WebBrowser" Then ' Body auslesen Debug.Print pDisp.Document.Body.innerHTML ' Komplettes Dokument auslesen 'Debug.Print pDisp.Document.documentElement.OuterHTML End If End Sub
Quelltext eines Frames
Wenn der Quelltext eines Frame-Objektes ausgelesen werden soll, muß zuerst geprüft werden, ob es sich beim fertig geladenen Dokument um das gewünschte Frame-Objekt handelt. Anschließend kann man den Quelltext wie zuvor gezeigt auslesen.
Private Sub WebBrowser1_DocumentComplete( _ ByVal pDisp As Object, _ URL As Variant) ' Frame auslesen Dim sFrame As String sFrame = "Navigation" If TypeName$(pDisp) = "WebBrowser" Then If pDisp.Document.frames.length = 0 Then If pDisp.Document.nameProp Like sFrame Then ' Body auslesen Debug.Print pDisp.Document.Body.innerHTML ' Komplettes Dokument auslesen 'Debug.Print pDisp.Document.documentElement.OuterHTML End If End If End If End Sub
Weitere Möglichkeiten
Weitere Möglichkeiten werden in den folgenden Tipps gezeigt:
- Ressource via Inet-Steuerelement aus dem Internet herunterladen [Tipp 0022]
- Dateien mit der Wininet laden [Tipp 0227]
- Dateien via Winsock Laden [Tipp 0228]
- Dateien via Winsock im Netzwerk/Internet übertragen [Tipp 0287]
- Wetterinfos laden (Seite laden und Inhalt isolieren) [Tipp 0480]
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.