Hyperlinks auslesen mit Chrome in Excel
Schritt-für-Schritt-Anleitung
-
Selenium installieren: Stelle sicher, dass Du Selenium Basic 2.0.9.0 installiert hast. Dies ermöglicht Dir, den Chrome-Browser in Excel-VBA zu verwenden. Du kannst die Installation von der offiziellen Webseite herunterladen.
-
Verweis setzen: Öffne den VBA-Editor in Microsoft Excel (Office 2019). Gehe zu Extras
> Verweise
und aktiviere die Selenium Type Library.
-
Makro erstellen: Erstelle ein neues Modul und füge den folgenden Code ein:
Sub HyperlinksAuslesen()
Dim driver As New ChromeDriver
Dim link As Object
With driver
.Start
.Get "https://www.sofascore.com/team/football/bayern-munchen/2672"
.Wait 3000
For Each link In .FindElementsByClass("dhKVQJ")
Debug.Print link.Attribute("href")
Next
End With
driver.Quit
End Sub
-
Ausführen: Führe das Makro aus, um alle Hyperlinks von der angegebenen Webseite auszulesen. Die Links werden im Direktfenster von VBA angezeigt.
Häufige Fehler und Lösungen
-
Laufzeitfehler: Wenn Du einen Laufzeitfehler erhältst, überprüfe, ob der Klassenname korrekt ist. In diesem Fall ist "dhKVQJ" der relevante Klassenname.
-
Keine Links gefunden: Stelle sicher, dass Du die richtige URL verwendest und dass die Webseite keine zusätzlichen Sicherheitsmaßnahmen hat, die das Scraping verhindern könnten.
Alternative Methoden
-
Excel Extensions für Chrome: Es gibt verschiedene Excel-Extensions für Chrome, die das Datenimportieren erleichtern können. Diese Extensions können oft ohne Programmierkenntnisse verwendet werden.
-
Web Scraping mit Python: Wenn Du mit Excel VBA Schwierigkeiten hast, könnte die Verwendung von Python mit Bibliotheken wie BeautifulSoup
und Selenium
eine leistungsfähige Alternative sein.
Praktische Beispiele
Hier ist ein Beispiel, wie Du mehrere Hyperlinks auf einer Webseite auslesen kannst:
Sub BeispielHyperlinks()
Dim driver As New ChromeDriver
Dim link As Object
With driver
.Start
.Get "https://www.sofascore.com/team/football/bayern-munchen/2672"
.Wait 3000
For Each link In .FindElementsByClass("dhKVQJ")
Cells(1, 1).Value = link.Attribute("href")
Cells(1, 1).Offset(1, 0).Value = link.Attribute("href") ' In die nächste Zeile
Next
End With
driver.Quit
End Sub
In diesem Beispiel werden die Links in die erste Spalte des Excel-Arbeitsblatts geschrieben.
Tipps für Profis
-
Debug.Print nutzen: Verwende Debug.Print
, um die Links während der Entwicklung im Direktfenster anzuzeigen. So kannst Du sicherstellen, dass alles korrekt funktioniert, bevor Du die Links in Excel einfügst.
-
Fehlerbehandlung integrieren: Füge Fehlerbehandlungsroutinen in Dein Makro ein, um unerwartete Probleme elegant zu handhaben.
-
Verwende chrome.application
in VBA: Wenn Du spezifische Aktionen mit Excel und Chrome durchführen möchtest, kannst Du die chrome.application
-Objekte in VBA verwenden, um die Interaktion zu optimieren.
FAQ: Häufige Fragen
1. Was ist Selenium und warum sollte ich es verwenden?
Selenium ist ein Tool zur Automatisierung von Webbrowsern. Es ermöglicht Dir, Daten aus Webseiten zu extrahieren und in Excel zu importieren, was besonders nützlich ist, wenn Webseiten nicht für den direkten Download konzipiert sind.
2. Wie installiere ich Selenium Basic?
Lade die Selenium Basic-Bibliothek von der offiziellen Webseite herunter und folge den Installationsanweisungen. Achte darauf, die Type Library in Excel zu aktivieren.
3. Funktioniert das auch mit anderen Excel-Versionen?
Ja, das Beispiel funktioniert in der Regel auch mit anderen Microsoft Excel-Versionen, solange Du sicherstellst, dass die Selenium-Bibliothek korrekt installiert und integriert ist.
4. Was mache ich, wenn die Webseite geblockt wird?
Wenn Du beim Zugriff auf die Webseite auf Probleme stößt, könnte es an Sicherheitseinstellungen oder Captchas liegen. In solchen Fällen kann es hilfreich sein, Proxys oder Headless-Browser zu verwenden.
5. Wie kann ich die Links in eine Excel-Tabelle einfügen?
Du kannst die Cells
-Methode verwenden, um die Links in spezifische Zellen Deiner Excel-Tabelle zu schreiben, wie im praktischen Beispiel gezeigt.