Elemente aus HTML-Quellcode auslesen
Schritt-für-Schritt-Anleitung
Um aus einem HTML-Quellcode die gewünschten Elemente auszulesen, kannst du VBA in Excel nutzen. Hier ist eine Schritt-für-Schritt-Anleitung, um die URLs aus dem Quellcode auszulesen.
-
Öffne Excel und erstelle ein neues Arbeitsblatt.
-
Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Füge den folgenden VBA-Code ein:
Sub b()
Dim IEApp As Object, allX As Object
Dim zeile As Long
Dim sText As String
zeile = 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 allX In IEApp.Document.all
If allX.classname = "products-box gridView" And allX.nodename = "DIV" Then
With Tabelle1
sText = Split(Split(allX.outerHTML, "href=""")(1), """")(0)
.Hyperlinks.Add Anchor:=.Cells(zeile, 1), Address:=sText, _
TextToDisplay:=Replace(Mid(sText, 38), ".html", "")
End With
zeile = zeile + 1
End If
Next
IEApp.Quit
Set IEApp = Nothing
MsgBox "Fertig"
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus:
- Drücke ALT + F8, wähle "b" und klicke auf "Ausführen".
Jetzt sollten alle URLs aus dem HTML-Quellcode in deiner Excel-Tabelle aufgelistet sein.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keine VBA-Programmierung nutzen möchtest, kannst du auch Tools wie Power Query in Excel verwenden, um Daten von einer Webseite zu importieren. Hier sind die Schritte:
- Gehe zu Daten > Daten abrufen > Aus dem Web.
- Gib die URL der Webseite ein, von der du die Daten abrufen möchtest.
- Wähle die entsprechenden Tabellen oder Daten aus und lade sie in Excel.
Praktische Beispiele
Hier ist ein einfaches Beispiel, wie du den HTML-Code auslesen und die Daten in Excel einfügen kannst:
Sub BeispielHTMLAuslesen()
Dim IEApp As Object
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "http://www.example.com"
' Warte, bis die Seite vollständig geladen ist
Do While IEApp.Busy Or IEApp.readyState <> 4: DoEvents: Loop
' Hier kannst du den Quelltext lesen
Dim htmlCode As String
htmlCode = IEApp.Document.body.innerHTML
Debug.Print htmlCode ' Gibt den HTML-Quelltext in das Direktfenster aus
IEApp.Quit
Set IEApp = Nothing
End Sub
Tipps für Profis
- Nutze Fehlerbehandlung in deinem VBA-Code, um unerwartete Probleme besser zu handhaben.
- Halte deinen VBA-Code sauber und gut kommentiert, um die Wartung zu erleichtern.
- Teste den Code regelmäßig, um sicherzustellen, dass er mit Änderungen auf der Webseite weiterhin funktioniert.
- Verwende
Debug.Print
, um den Quellcode zu lesen und zu verstehen, wie die Struktur der Webseite aufgebaut ist.
FAQ: Häufige Fragen
1. Wie kann ich weitere Elemente aus dem HTML-Quellcode auslesen?
Du kannst die Bedingungen in der Schleife anpassen, um andere HTML-Elemente auszulesen, indem du beispielsweise nach class
oder id
suchst.
2. Funktioniert dieser Code in Excel 2010 und neuer?
Ja, der Code sollte in Excel 2010 und neueren Versionen einwandfrei funktionieren, solange du die Internet Explorer-Anwendung installiert hast.