Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Webabfrage (Browaser ändern)

Forumthread: Webabfrage (Browaser ändern)

Webabfrage (Browaser ändern)
28.07.2022 10:59:27
Rihcy
Hi,
über eine Webabfrage hole ich mir Aktienkurse bei Onvista. Das hat bis dato auch gut geklappt, allerdings zeigt nun die Webabfrage die Seite nicht mehr richtig an bzw. lädt gewisse Inhalte nicht mehr. (https://www.onvista.de/aktien/handelsplaetze/Aixtron-Aktie-DE000A0WMPJ6. )Dies ist im IE auch so, andere Browser zeigen die Seite aber korrekt an.
Wie kann ich den folgenden Code anpassen dass er zb Firefox oder Chrome für diese Webabfrage nutzt? Oder gibt es noch eine andere Möglichkeit dass die Webabfrage die Daten korrekt anzeigt?

Public Sub Daten_aktualisieren()
Dim Current As Worksheet
Dim qt As QueryTable
For Each Current In Worksheets
'MsgBox Current.Name
If Current.QueryTables.Count > 0 Then
For Each qt In Current.QueryTables
qt.Refresh (BackgroundQuery)
Next
End If
Next
End Sub
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Cookies
28.07.2022 13:00:16
Yal
Hallo Richy,
üblicherweise sind die Web-Power-Query, die nicht mehr funktionieren, auf einem geänderte Datenpfad innerhalb der Webseite zurückzuführen. In einem Solchen Fall muss man die "Navigation" innerhalb deiner Abfrage anpassen. Es trifft hier aber nicht zu, weil die Datentabelle sehr einfach auf "Table0" in der erste Stufe der Navigation zu haben sind. Bei solcher klaren Struktur kann ich mich nicht vorstellen, dass da eine Änderung seitens onvista gab.
Ich habe aber bei dem gegebenen Links das Problem, dass diese Seite einen Cooky-Consent Seite davorschaltet.
Nach dem ich die Seite unter Microsoft Edge geöffnet und die Cookies abgelehnt habe, funktioniert der Zugang zur Webseite auch in Power Query.
Edge ist bei mir nicht der Standardbrowser, aber es schient so zu sein, dass die Microsoft Produkte auf diese Ebene zusammenarbeiten.
VG
Yal
Anzeige
AW: Cookies
28.07.2022 13:44:01
Richard
Also mit dem Cookies ausschalten kommt ich schon ein Stück weiter, allerdings gibt er unten die Historie der vergangenen Tage nicht an (und genau das brauche ich dummerweise).
Ich habe leider kein Edge, sondern IE....und nebenbei halt Firefox, Chrome...
Hast du noch eine Idee wie ich zu der Lösung komme?
Anzeige
AW: Cookies
28.07.2022 13:46:58
Richy
Also mit dem Cookies ausschalten kommt ich schon ein Stück weiter, allerdings gibt er unten die Historie der vergangenen Tage nicht an (und genau das brauche ich dummerweise).
Ich habe leider kein Edge, sondern IE....und nebenbei halt Firefox, Chrome...
Hast du noch eine Idee wie ich zu der Lösung komme?
Anzeige
AW: Cookies
28.07.2022 14:14:44
Yal
Hallo Richy,
wenn Du "365" hast, hast Du sehr wahrscheinblich Windows 10. Wenn Du Windows 10 hast, hast Du Edge, auch wenn Du es nicht verwendest. Hast Du Edge tatsächlich nicht, musst Du die Cookies unter IE einrichten.
Die Cookies zu verweigern ist nur eine Möglichkeit. Es würde genauso funktionieren, wenn man alle Cookies annimmt. Wichtig ist, dass die Einstellung deines Microsoft Browsers nicht so ist, dass es beim Schliessen alle Cookies löscht, oder dass Du diese nur im Privat-Modus verwendest. Sonst ... back to start.
Aber:
was ich vorher mit der Navigation gesagt habe, trifft leider zu: der einfache direkte zugriff gilt nur für die obere Tabelle. Für die unteren muss Du "navigieren". Und es ist kein Spass, weil es ist alles "Try & Error". Auf Deutsch im Dunkel stochern. Ich habe keine Daten gefunden (habe aber auch recht schnell aufgeben).
Was das Scrapen von Webseite angeht, geht es besser mit Selenium. Ist aber auch nicht ohne Fleiss zu haben.
Siehe die beide ersten Videos von https://www.google.com/search?q=vba+selenium+webscraping+wiseowl&safe=active&tbm=vid
Nicht ganz einfach, aber wenn Du mehr Webseite rumgraben möchtest, kommst Du irgendwann kaum drum.
Alternative: Microsoft Power Automate Desktop: https://www.youtube.com/watch?v=DgBZiBIgh3w
VG
Yal
Anzeige
AW: Webabfrage (Browaser ändern)
28.07.2022 14:09:04
Zwenn
Hallo Rihcy,
der IE ist tot, töter am tötesten. Seit dem 15.06.2022 ist der sogar komplett verwest.
https://docs.microsoft.com/de-de/lifecycle/announcements/internet-explorer-11-end-of-support
Was Du auf onvista mit dem IE noch sehen kannst, sind die letzten Zuckungen. Es grenzt schon an ein Wunder, dass der Seitenaufruf nicht direkt auf Edge umgeleitet wird. Rufe die Seite mal manuell im IE und im Chrome auf. Da sollte Dir in der Ansicht etwas auffallen. Im IE wird die Seite nur teilweise dargestellt.
Welche der MS Komponenten inzwischen im Hintergrund zusammen arbeiten kann ich Dir leider nicht sagen. Aber Du kannst versuchen, ob es etwas bringt, Edge auf den IE Kompatibilitätsmodus umzuschalten:
https://de.minitool.com/nachrichten/edge-ie-kompatibilitaetsmodus.html
Falls das nicht geht und niemand anders eine Lösung über PQ weiß (damit kenne ich mich leider nicht aus), benötigst Du eine andere Technik zum Abrufen der Daten. Da gibt es für VBA die Variante XHR, womit es relativ schnell recht kompliziert werden kann, wenn man Cookies und/ oder SeassionIDs benötigt. Das sind Dinge, die ein Browser für den Anwender im Hintergrund händelt. Womit Möglichkeit zwei evtl. besser geeignet ist.
Um einen anderen Browser als den IE direkt aus VBA heraus ansprechen zu können, brauchst Du das SeleniumBasic Framework als Schnittstelle und den aktuellen WebDriver für den verwendeten Browser (Chrome oder Edge. Ich glaube der FF geht nach wie vor nicht mehr mit Selenium). Auf StackOverflow hat Yasser Khalil im folgenden Thread in der akzeptierten Antwort beschrieben, wie man SeleniumBasic unter Excel zum Laufen bringt (Du musst natürlich jeweils die aktuellen Versionen nehmen. SeleniumBasic wird nicht mehr gepflegt und ist aktuell). Die Programmierung selbst ist dann der nächste Schritt:
https://stackoverflow.com/questions/57216623/using-google-chrome-in-selenium-vba-installation-steps
Vielleicht hilft Dir das, erstmal in eine neue Richtung zu denken. Verschwende aber keine Zeit mehr darauf, es irgendwie mit dem IE zu bewerkstelligen.
Viele Grüße,
Zwenn
Anzeige
Ja :-) Die Zeiten ändern sich^^ (owT)
28.07.2022 15:52:35
Zwenn
;
Anzeige
Anzeige

Infobox / Tutorial

Webabfrage: Browser ändern für Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du die Webabfrage erstellen möchtest.
  2. Wähle im Menü Daten die Option Daten abrufen und dann Aus dem Web.
  3. Gib die URL der Webseite ein, von der Du die Aktienkurse beziehen möchtest, zum Beispiel https://www.onvista.de/aktien/handelsplaetze/Aixtron-Aktie-DE000A0WMPJ6.
  4. Wenn Du Probleme mit der Anzeige hast, überprüfe, ob Cookies akzeptiert werden. Du kannst in den Einstellungen deines Browsers die Cookies anpassen.
  5. Überlege, ob Du den Kompatibilitätsmodus deines Browsers aktivieren möchtest, um die Webabfrage zu unterstützen. In Edge kannst Du dies unter Einstellungen > Standardeinstellungen > Kompatibilitätsmodus tun.
  6. Füge den VBA-Code aus dem Forum in ein Modul ein, um die Daten regelmäßig zu aktualisieren:
    Public Sub Daten_aktualisieren()
       Dim Current As Worksheet
       Dim qt As QueryTable
       For Each Current In Worksheets
           If Current.QueryTables.Count > 0 Then
               For Each qt In Current.QueryTables
                   qt.Refresh (BackgroundQuery)
               Next
           End If
       Next
    End Sub
  7. Schließe und öffne Excel erneut, um sicherzustellen, dass alle Einstellungen richtig übernommen wurden.

Häufige Fehler und Lösungen

  • Fehler: Daten werden nicht geladen.

    • Lösung: Überprüfe, ob Du den Kompatibilitätsmodus in Edge eingeschaltet hast. Manchmal kann es helfen, die Cookies zu akzeptieren oder abzulehnen, abhängig von der Webseite.
  • Fehler: Historie der Aktienkurse wird nicht angezeigt.

    • Lösung: Stelle sicher, dass Du die richtige Navigation in der Webabfrage verwendest. Manchmal muss man tiefere Navigationsstufen anpassen.

Alternative Methoden

Wenn die Excel-Webabfrage nicht die gewünschten Ergebnisse liefert, kannst Du folgende Alternativen in Betracht ziehen:

  1. Selenium für Web-Scraping: Mit Selenium kannst Du die Daten direkt von der Webseite extrahieren. Du benötigst dazu das SeleniumBasic Framework und den entsprechenden WebDriver für Chrome oder Firefox.
  2. Microsoft Power Automate Desktop: Diese Software bietet eine benutzerfreundliche Oberfläche für das Automatisieren von Webabfragen und kann eine gute Alternative zur Excel-Webabfrage sein.

Praktische Beispiele

  • Aktienkurse von Onvista abrufen: Verwende den Link, den Du aus dem Forum erhalten hast. Stelle sicher, dass Du alle Cookies akzeptierst, um die Webseite korrekt anzuzeigen.
  • Verwendung von Selenium: Hier ein Beispiel, wie Du Selenium in VBA integrieren kannst:
    ' Beispielcode für das Öffnen des Browsers
    Dim bot As New WebDriver
    bot.Start "chrome"
    bot.Get "https://www.onvista.de/"

Tipps für Profis

  • Verwende den Chrome-Kompatibilitätsmodus, um sicherzustellen, dass die Webseite korrekt geladen wird.
  • Teste Deine Abfragen regelmäßig, um sicherzustellen, dass Änderungen auf der Webseite nicht zu Problemen führen.
  • Halte Deine Software aktuell, insbesondere den WebDriver für Selenium, um Kompatibilitätsprobleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Kompatibilitätsmodus in Edge aktivieren? Du kannst den Kompatibilitätsmodus aktivieren, indem Du in den Edge-Einstellungen unter Standardeinstellungen die entsprechende Option auswählst.

2. Was mache ich, wenn die Webabfrage weiterhin nicht funktioniert? Überprüfe die Cookie-Einstellungen und versuche, die Abfrage in einem anderen Browser oder mit einem alternativen Tool wie Power Automate Desktop durchzuführen.

3. Kann ich die Webabfrage auch in Excel 365 nutzen? Ja, die beschriebenen Methoden sind mit Excel 365 kompatibel, solange Du Windows 10 oder höher verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige