Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Elemente aus html Quellcode auslesen

Forumthread: Elemente aus html Quellcode auslesen

Elemente aus html Quellcode auslesen
08.04.2015 09:07:09
Michael
Guten Morgen,
ich müsste dringend Links aus einer html Quellcode auslesen.
Im Quellcode gibt es das Element "
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Elemente aus html Quellcode auslesen
08.04.2015 09:12:19
Oberschlumpf
Hi Michael,
besser, du zeigst uns den Code per Upload in einer Bsp-Datei, da zumindest ich hier nix mit dem gezeigten Code anfangen kann, da die Forumssoftware einen Link draus gemacht hat.
Ciao erst mal
Thorsten

;
Anzeige

Infobox / Tutorial

Elemente aus HTML-Quellcode auslesen


Schritt-für-Schritt-Anleitung

Um Links aus einem HTML-Quellcode mit VBA auszulesen, kannst Du folgenden Code verwenden. Dieser Code öffnet eine Internetseite und extrahiert die Links aus dem spezifischen <div>-Element.

Sub b()
    Dim IEApp As Object, all As Object
    Dim zeile As Long, spalte As Integer
    zeile = 1
    spalte = 1
    Set IEApp = CreateObject("InternetExplorer.Application")
    IEApp.Visible = False
    IEApp.Navigate "http://www.wall-art.de/mustertapeten/" 'anpassen
    Do: Loop Until IEApp.Busy = False
    Do: Loop Until IEApp.Document.ReadyState = "complete"

    For Each all In IEApp.Document.all
        If all.classname Like "products-box gridView" Then
            Tabelle1.Cells(zeile, spalte) = all.getElementsByTagName("a")(0).href
            zeile = zeile + 1
        End If
    Next

    IEApp.Quit
    Set IEApp = Nothing
    MsgBox "Fertig"
End Sub

Achte darauf, dass Du den spezifischen Link in der Navigate-Methode anpasst. Der Code durchläuft alle Elemente und sucht nach dem Klassennamen products-box gridView. Die gefundenen Links werden in eine Excel-Tabelle geschrieben.


Häufige Fehler und Lösungen

  • Problem: Der Browser bleibt hängen.

    • Lösung: Stelle sicher, dass der Internet Explorer korrekt konfiguriert ist und keine Pop-ups oder Sicherheitswarnungen angezeigt werden.
  • Problem: Keine Links werden extrahiert.

    • Lösung: Überprüfe, ob der Klassennamen in Deinem Quellcode korrekt ist und ob das <a>-Tag innerhalb des <div>-Elements vorhanden ist.
  • Problem: Fehlermeldung beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass Du in Excel das VBA-Entwicklertool aktiviert hast und die Makros ausgeführt werden dürfen.

Alternative Methoden

Falls Du keine VBA-Programmierung verwenden möchtest, kannst Du auch XML-HTTP-Anfragen nutzen. Hier ist ein Beispiel:

Sub HTML_Auslesen()
    Dim http As Object
    Dim html As Object
    Dim zeile As Long
    zeile = 1

    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", "http://www.wall-art.de/mustertapeten/", False
    http.send

    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    Dim links As Object
    Set links = html.getElementsByTagName("a")

    For Each link In links
        If InStr(link.className, "product-img-link") > 0 Then
            Tabelle1.Cells(zeile, 1) = link.href
            zeile = zeile + 1
        End If
    Next

    MsgBox "Fertig"
End Sub

Diese Methode verwendet MSXML2.XMLHTTP, um den HTML-Quelltext herunterzuladen und die Links auszulesen.


Praktische Beispiele

Ein praktisches Beispiel zur Verwendung des Codes ist das Auslesen von Produktlinks von einer Webseite. Achte darauf, dass die Struktur der HTML-Daten konstant bleibt. Du kannst das Skript anpassen, um zusätzliche Attribute wie title oder class zu extrahieren.


Tipps für Profis

  • Debugging: Nutze Debug.Print in Deinem Code, um den Fortschritt beim Auslesen des Quellcodes zu überprüfen.
  • Error Handling: Implementiere Fehlerbehandlungsroutinen, um mit unerwarteten Situationen umzugehen.
  • Dokumentation: Halte Deine Codes gut dokumentiert, damit Du sie später leicht wiederverwenden oder anpassen kannst.

FAQ: Häufige Fragen

1. Wie kann ich den HTML-Quellcode anzeigen?
Du kannst den Quellcode mit Debug.Print IEApp.Document.body.innerHTML in die Konsole ausgeben.

2. Ist dieser Code mit allen Excel-Versionen kompatibel?
Ja, die meisten Excel-Versionen ab 2010 unterstützen diese VBA-Methoden, solange die Entwicklertools aktiviert sind.

3. Kann ich andere HTML-Elemente auslesen?
Ja, Du kannst den Code anpassen, um andere Elemente wie <div>, <span>, etc. auszulesen. Achte darauf, die entsprechenden Tags und Attribute zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige