Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten automatisch aus einer Website entnehmen?

Daten automatisch aus einer Website entnehmen?
18.07.2017 00:54:42
Gustavo
Hallo, ich habe eine Website, wo ich gerne Preise exportieren würde und damit Rechnungen anstellen will nehmen will. Wie kann ich in Excel / VBA eine automatische Datenentnahme programmieren? Die Website ist dynamisch und verändert sich ständig. Ich stelle mir das quasi mit einem Makro vor, wo man per Klick eine Momentanaufnahme des aktuellen Zustandes festhält. Eine Beispielseite wäre folgende:
http://steamcommunity.com/market/listings/730/AK-47%20%7C%20Redline%20%28Field-Tested%29
Hier würde ich gerne den Artikelnamen links mit dem jeweiligen Preis auflisten in Excel. Wahrscheinlich kann man den Text nicht so einfach von der Website entnehmen, muss man da über den Quellcode gehen?
Ich freue mich über Ratschläge zur Umsetzung.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten automatisch aus einer Website entnehmen?
18.07.2017 11:12:20
MCO
Probier mal die Excel-Funktion, die Office mitbringt:
Daten - Externe Daten abrufen - aus dem Web.
Hier kannst du dann die Seite angeben und dann denn speziellen Frame wählen.
Der wird dir dann als Tabelle auf deinem Sheet importiert. Danach kannst du damit anstellen was du willst.
Morgen brauchst du dann die Datenverbindung nur zu aktualisieren.
Gruß, MCO
Anzeige
Wie meistens, gehts übers DOM
18.07.2017 11:37:48
Zwenn
Hallo Gustavo,
hallo MCO.
Zwar hast Du recht mit der Datenaktualisierung auf dem von Dir aufgezeigtem Weg, aber Gustavo hat ja geschrieben, der Link zeigt nur eine Beispielseite. Bereits die hat aber 2.002 Suchtreffer, die er auslesen will. Pro Seite werden jedoch nur 10 Treffer dargestellt. Also kommt er schon allein für den Beispiellink auf 201 Seitenaufrufe. Somit ist die beschriebene Methode nach meinem Dafürhalten an dieser Stelle ungeeignet.
Wenn man solche Datenmengen auslesen will, funktioniert das erfarungsgemäß sehr gut über das DOM (Document Object Modell) des Internet Explorers. Dazu musst Du in der Tat über den Quellcode der Seite gehen Gustavo. Ich habe da jetzt nur kurz reingeschaut und sehe zwar ein paar kleine Fallstricke, die es zu umschiffen gilt, aber grundsätzlich sollten sich die von Dir gewünschten Daten auslesen lassen.
Da ich das Vorgehen dazu schon einige Male erklärt habe, verlinke ich einfach mal zwei Threads aus der Vergangenheit dazu:
Auslesen von NBA Ergebnissen:
https://www.herber.de/cgi-bin/callthread.pl?index=1492241#1493245
Excel Datei mit dem Makro zum Auslesen der NBA Ergebnisse:
(über den Ursprungs-Thread nicht mehr downloadbar)
www.herber.de/bbs/user/113778.xlsm
Weitere Erklärungen zum Auslesen von Daten über das DOM:
https://www.herber.de/cgi-bin/callthread.pl?index=1560197
Damit solltest Du einiges anfangen können, sofern Du Dich einigermaßen mit dem heutigen Aufbau von Webpages über HTML und CSS auskennst.
Viele Grüße,
Zwenn
Anzeige
AW: Daten automatisch aus einer Website entnehmen?
20.07.2017 10:06:16
Gustavo
Danke ich habe das Problem lösen können!
AW: Daten automatisch aus einer Website entnehmen?
18.07.2017 11:24:15
Gunter
Hallo Gustavo
Man kann die Daten von der Website entnehmen und zwar mit Excel eigenen Mitteln. Unter "Daten" findest du den Punkt "Aus dem Web". Somit hast du die Daten mal im Excel Sheet und musst "nur" noch sortieren.
Gruss
Gunter
AW: Daten automatisch aus einer Website entnehmen?
18.07.2017 11:47:58
Zwenn
Hallo Gunter,
dieser Weg ist aus 2 Gründen schlecht bzw. hier nicht praktikabel:
1. Was da in eine Excel Tabelle übernommen wird, ist sehr stark vom Aufbau der Seite abhängig. Sich in dem "Datenwirrwar" dann die richtigen Sachen rauszusuchen ist viel zu aufwändig. Je nach Aufbau der Seite fehlen auch oft Inhalte. Ich habe auch auf diesem Wege angefangen Webseiten auszulesen, bis ich auf das DOM (Document Object Modell) gestoßen bin. Damit hat man eine Schnittstelle, über die man an so ziemlich alles auf einer Seite direkt rankommt.
2. Es geht hier um hunderte von Seitenaufrufen. Ok, die kann man auch über die von Dir vorgeschlagene Methode durchführen. Das ist aber unterm Strich nicht mehr, als ein Hilfskonstrukt, bei dem ständig temporäre Tabellen angelegt und wieder gelöscht werden müssen. Nicht schön. Vor allem nicht, weil das immer manuelle Eingriffe erfordert, wenn das Makro mal unterbrochen wird.
Viele Grüße,
Zwenn
Anzeige
AW: Daten automatisch aus einer Website entnehmen?
18.07.2017 13:14:17
Gunter
Hallo Zwenn
Vielen Dank für deine Ausführungen, das ist sehr interessant und ich hab wieder was gelernt. :-)
Gruss
Gunter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Daten aus einer Website in Excel entnehmen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zum Tab "Daten".
  2. Wähle "Externe Daten abrufen" und klicke auf "Aus dem Web".
  3. Gib die URL der gewünschten Website ein und klicke auf "OK".
  4. In dem folgenden Fenster kannst Du den gewünschten Frame oder die Tabelle auswählen, die Du importieren möchtest.
  5. Klicke auf "Importieren", um die Daten in Dein Excel-Arbeitsblatt zu laden.
  6. Um die Excel-Daten aus dem Web automatisch zu aktualisieren, gehe zu "Daten" und wähle "Aktualisieren", wann immer Du die neuesten Informationen benötigst.

Häufige Fehler und Lösungen

  • Problem: Excel-Daten aus dem Web funktioniert nicht.

    • Lösung: Überprüfe die URL und stelle sicher, dass die Website erreichbar ist. Manchmal sind auch Firewalls oder Browser-Einstellungen dafür verantwortlich.
  • Problem: Die gewünschten Daten werden nicht korrekt angezeigt.

    • Lösung: Achte darauf, den richtigen Frame oder die richtige Tabelle auszuwählen. Manchmal sind die Daten nicht in der erwarteten Struktur vorhanden.

Alternative Methoden

Wenn die oben beschriebene Methode nicht funktioniert oder die Website dynamisch ist, kannst Du auch folgendes probieren:

  • VBA-Programmierung: Mit VBA (Visual Basic for Applications) kannst Du ein Makro erstellen, das die Daten direkt über das DOM (Document Object Model) ausliest. Dies ist besonders nützlich, wenn Du mehrere Seiten abfragen möchtest.

    Sub DatenAusWebseiteEntnehmen()
      ' Beispielcode zum Auslesen von Daten über das DOM
      Dim ie As Object
      Set ie = CreateObject("InternetExplorer.Application")
      ie.Visible = False
      ie.Navigate "http://deine-webseite.de"
    
      ' Warte darauf, dass die Seite geladen ist
      Do While ie.Busy Or ie.readyState <> 4
          DoEvents
      Loop
    
      ' Hier kannst Du den Quellcode durchgehen und die gewünschten Daten entnehmen
      ' ...
    
      ie.Quit
      Set ie = Nothing
    End Sub

Praktische Beispiele

Ein Beispiel für das Auslesen von Preisen von einer Website:

  1. Gehe auf die Website und finde den Preis, den Du extrahieren möchtest.
  2. Nutze die oben genannten Schritte, um die Daten in Excel zu importieren.
  3. Wenn Du mehrere Preise von verschiedenen Seiten abrufen möchtest, erstelle ein VBA-Makro, das die URLs in einer Schleife durchläuft und die Daten in eine Excel-Tabelle einträgt.

Tipps für Profis

  • Achte darauf, dass Du die Struktur der Webseite verstehst, um die richtigen Daten auszulesen.
  • Nutze Excel-Formeln und Funktionen, um die importierten Daten weiter zu verarbeiten.
  • Halte Deine Makros einfach und dokumentiere den Code, damit Du später leichter Anpassungen vornehmen kannst.

FAQ: Häufige Fragen

1. Wie oft kann ich die Daten aus dem Web automatisch aktualisieren?
Du kannst die Daten so oft aktualisieren, wie Du möchtest, indem Du auf "Aktualisieren" im Daten-Tab klickst.

2. Was ist, wenn die Website dynamisch ist?
In diesem Fall empfehle ich, die Daten über das DOM mit einem VBA-Makro auszulesen, da dies mehr Flexibilität bietet.

3. Funktioniert das auch mit anderen Excel-Versionen?
Ja, die beschriebenen Methoden sollten in den meisten aktuellen Excel-Versionen funktionieren, jedoch kann die Benutzeroberfläche leicht variieren.

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