Live-Forum - Die aktuellen Beiträge
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige