logo
languageDEdown
menu

Web Scraping in Excel VBA für Einsteiger: So geht’s!

5 Minuten lesen

Scraping ist eine Technik, die Informationen aus dem HTML-Code von Webseiten extrahiert und automatisch Daten sammelt. Häufig kommen Programmiersprachen wie Python, Ruby, JAVA und PHP zum Einsatz, was für Nicht-Ingenieure jedoch eine Herausforderung darstellen kann.

Für diese Nutzer empfehlen wir Excel VBA als einfache Möglichkeit, das Scraping zu erlernen. In diesem Artikel erklären wir verständlich, wie Sie mit Excel VBA scrapen können. Nutzen Sie diesen Artikel als Referenz.

Was ist Excel VBA?

Excel VBA (Visual Basic for Applications) ist eine Programmiersprache zur Automatisierung und Anpassung der Funktionalitäten in Microsoft Excel. Basierend auf Visual Basic ermöglicht VBA die Rationalisierung von Aufgaben, von der Automatisierung einfacher Tätigkeiten bis hin zur komplexen Datenverarbeitung.

Durch den Einsatz von VBA können Sie beispielsweise große Datenmengen effizient verarbeiten und Berichte erstellen, indem Sie die Extraktion, Formatierung und Analyse von Daten automatisieren und somit Zeit sparen. Zudem lassen sich benutzerdefinierte Funktionen erstellen, um spezifische Berechnungen zu vereinfachen. Aus diesen Gründen wird Excel VBA häufig in Geschäfts- und Forschungsbereichen eingesetzt.

Vorteile des Scrapings mit Excel VBA

Web Scraping mit Excel VBA hat viele Vorteile, insbesondere in Unternehmen, die stark auf Excel angewiesen sind. Hier sind drei zentrale Vorteile.

Eine Entwicklungsumgebung aufzubauen ist nicht erforderlich

Der größte Vorteil der Verwendung von Excel VBA besteht darin, dass keine Entwicklungsumgebung von Grund auf erstellt werden muss. VBA ist in Excel integriert, sodass Sie es sofort verwenden können, ohne spezielle Software oder Tools installieren zu müssen.

Daher ist es ein großer Vorteil für Benutzer, die neu in der Programmierung sind oder schnell mit der Arbeit beginnen möchten.

Erfasste Daten können direkt in Excel gespeichert werden

Die direkte Speicherung von durch Web Scraping gewonnenen Daten in einer Excel-Tabelle ist für die Datenanalyse und Berichtserstellung äußerst praktisch. Dadurch entfällt der Aufwand, Daten in eine externe Datenbank oder ein anderes Dateiformat zu exportieren und in Excel zu importieren, was den Umgang mit Daten erleichtert und die Effizienz steigert.

Sie können Zellen direkt in Excel festlegen

Mit VBA können Sie Scraped-Daten direkt in Excel-Zellen einfügen und organisieren. Dies vereinfacht die Nachbearbeitung und Formatierung Ihrer Daten und ermöglicht die Nutzung von Excel-Funktionen wie Pivot-Tabellen, Grafiken und Formelberechnungen, was den Analyseprozess erheblich erleichtert.

Schritte zum Web-Scraping mit Excel VBA

Von hier aus erklären wir die Schritte zum tatsächlichen Importieren von Informationen und Daten von einer Website in eine Excel-Tabelle mithilfe von Excel VBA.

SCHRITT 1: Scraping-Bibliothek in Excel einführen

Zunächst stellen wir eine Scraping-Bibliothek für Excel-Makros vor. Gehen wir wie folgt vor.

  • Öffnen Sie eine neue Excel-Tabelle.
  • Drücken Sie „Alt+F11“, um „Visual Basic“ zu öffnen.
  • Klicken Sie auf Einfügen und wählen Sie Standardmodul aus.
  • Geben Sie im neuen Modul den folgenden Code ein.

Untertest()

Sub beenden

  • Klicken Sie auf „Extras“ und dann auf „Referenzen“.
  • Überprüfen Sie die folgenden zwei Elemente aus der Liste der referenzierbaren Bibliotheksdateien.

Microsoft HTML-Objektbibliothek
Microsoft Internet Controls

Jetzt können Sie mit Excel VBA scrapen.

SCHRITT 2. Geben Sie den Code ein

Einführung in den grundlegenden Beispielcode für Web Scraping mit Excel VBA. Dieser Code ruft Daten von einer bestimmten Webseite ab und veröffentlicht sie in einer Excel-Tabelle.

<Beispielcode>

Sub WebScrapingMitVBA()
    Dim ie As Object
    Dim html As Object
    Dim url As String
    Dim element As Object
    Dim i As Integer

    ' URL der Seite, die Sie scrapen möchten
    url = "https://www.example.com"

    ' Internet Explorer (IE) als Objekt erstellen
    Set ie = CreateObject("InternetExplorer.Application")

    ' IE wird im Hintergrund geöffnet
    With ie
        .Visible = False
        .navigate url

        ' Warten, bis die Seite vollständig geladen ist
        Do While .Busy Or .readyState <> 4
            DoEvents
        Loop

        ' HTML-Dokument abrufen
        Set html = .document
    End With

    ' Beispielsweise Daten aus einer Tabelle extrahieren
    i = 1
    For Each element In html.getElementsByTagName("table")(0).getElementsByTagName("tr")
        ' Hier die Zellen in jede Zeile einfügen
        Cells(i, 1).Value = element.Children(0).innerText ' 1. Spalte
        Cells(i, 2).Value = element.Children(1).innerText ' 2. Spalte
        i = i + 1
    Next element

    ' IE schließen
    ie.Quit
    Set ie = Nothing
    Set html = Nothing
End Sub

*Hinweise

  • Dieser Code ist nur ein einfaches Beispiel. Abhängig von der Struktur der tatsächlichen Webseite ist eine entsprechende Änderung erforderlich.
  •  Bitte ändern Sie „ie.navigate „http://www.example.com““ im Beispielcode in die URL der Webseite, von der Sie Informationen sammeln möchten.
  • Abhängig von der Zielwebseite und den Daten, die Sie abrufen möchten, müssen Sie möglicherweise unterschiedliche HTML-Elemente und -Attribute angeben.

SCHRITT 3. Scraping mit VBA ausführen

Jedes Mal, wenn Sie den Code in das Modul eingeben und auf die Schaltfläche „Run Sub/Userform“ klicken, wird die angegebene URL angezeigt und die Daten auf der Webseite werden automatisch nach Excel übertragen.

Ist es möglich, einen anderen Browser als den Internet Explorer zu verwenden?

Da die Unterstützung für Internet Explorer bereits eingestellt wurde, möchten viele Menschen möglicherweise einen anderen Browser verwenden. Allerdings unterstützt Excel VBA nicht nativ den direkten Betrieb anderer Browser (z. B. Google Chrome, Mozilla Firefox usw.). Eine alternative Methode ist:

Verwenden Sie Selenium WebDriver

Selenium ist ein weit verbreitetes Tool zur Webbrowser-Automatisierung und unterstützt eine Vielzahl von Browsern, darunter Google Chrome und Mozilla Firefox. Durch die Kombination von Excel VBA und Selenium ist Scraping in anderen Browsern als dem IE möglich.

Diese Methode erfordert jedoch die Einrichtung von Selenium WebDriver und zusätzlichen Einstellungen, um mit Selenium über VBA arbeiten zu können.

Verwenden Sie den IE-Modus

Mit neueren Versionen von Microsoft Edge können Sie ältere IE-abhängige Webseiten und Anwendungen mithilfe einer Funktion namens IE-Modus ausführen. Der IE-Modus von Edge kann als vorübergehende Lösung dienen, um Ihre vorhandenen IE-basierten VBA-Skripte weiterhin zu nutzen.

API verwenden

Anstelle von Web Scraping können Sie auch den Abruf von Daten über eine API in Betracht ziehen, sofern die betreffende Website eine solche bereitstellt. Excel VBA ist in der Lage, HTTP-Anfragen zu senden und Daten von der API abzurufen.

Verwendung anderer Programmiersprachen

Wenn Sie fortgeschritteneres Scraping benötigen, besteht eine Möglichkeit darin, die Verwendung anderer Programmiersprachen wie Python oder JavaScript in Betracht zu ziehen. Diese Sprachen verfügen über leistungsstarke Bibliotheken, die auf Web Scraping spezialisiert sind, und sind flexibler als VBA.

Wenn Sie diese Alternativen in Betracht ziehen, ist es wichtig, die geeignete Methode basierend auf Ihren Zielen und Ressourcen auszuwählen, da hierfür möglicherweise zusätzliche Einrichtungs- und Schulungsmaßnahmen erforderlich sind.

So scrapen Sie mit Octoparse

Wenn Sie keine Programmierkenntnisse haben und sich nicht sicher sind, ob Sie VBA gut nutzen können, empfehlen wir Ihnen die Verwendung des Scraping-Tools Octoparse.

Octoparse verfügt über eine Funktion zur „automatischen Identifizierung“. Geben Sie also einfach die URL der Webseite ein, von der Sie Daten abrufen möchten. Die Elemente auf der Webseite werden dann automatisch erkannt und automatisch eine Scraping-Aufgabe generiert.

Hier erklären wir die Schritte zum Scrapen mit Octoparse.

1. Starten Sie Octoparse und geben Sie die URL der Webseite ein, die Sie durchsuchen möchten.

Geben Sie hier die URL Ihres Octoparse-Blogs ein und klicken Sie auf die Schaltfläche „Starten“.

2. Wenn eine Seite geladen wird, identifiziert Octoparse automatisch den Inhalt der Seite.
Die Funktion zur automatischen Identifizierung ist eine nützliche Funktion, die die erforderlichen Daten auf der Seite automatisch erkennt und identifiziert. Es ist keine spezielle Konfiguration erforderlich, Octoparse erledigt dies automatisch.

3. Sobald die Identifizierung abgeschlossen ist, werden die identifizierten Daten in der Datenvorschau angezeigt. Klicken Sie nach der Bestätigung unter „Operationsvorschlag“ auf „Workflow generieren“.

4. Die Erstellung des Webcrawlers ist abgeschlossen. Klicken Sie oben rechts auf dem Bildschirm auf die Schaltfläche „Ausführen“, um die Datenextraktion sofort zu starten.

5. Die Datenextraktion ist in nur wenigen Minuten abgeschlossen. Extrahierte Daten können nach Excel, CSV usw. exportiert werden.

6.Sie können die exportierten Daten frei verarbeiten.

Dies sind die nach Excel exportierten Daten. URL, Titel, Kategorie, Autorenname usw. der im Octoparse-Blog veröffentlichten Artikel werden zusammengefasst.

Bisher müssen Sie lediglich die URL einfügen und ein paar Klicks ausführen.

Zusammenfassung

In diesem Artikel haben wir eine Methode vorgestellt, die auch IT-Anfängern ohne Programmierkenntnisse das einfache Scrapen ermöglicht. Excel VBA erleichtert das Scraping, aber bei Websites mit komplexen Strukturen (z. B. dynamische Websites, die JavaScript oder AJAX verwenden) kann die Funktionalität von VBA etwas mangelhaft sein.


Allerdings ist es mit großem Aufwand verbunden, Programmiersprachen und IT-Kenntnisse von Grund auf zu erlernen. Für diejenigen, die einfach schaben möchten, ist die Verwendung eines Schabewerkzeugs wie Octoparse perfekt.

Erhalte Webdaten in Klicks
Daten-Scraping von jeder Website ganz ohne Codierung.
Kostenloser Download

Beliebte Beiträge

Themen untersuchen

Starten mit Octoparse heute

Downloaden

Verwandte Artikel