Ich versuche, historische Aktienkursdaten von finance.yahoo.com für 1000s Aktien zu downloaden. Die Website zeigt nur 60 Tage Daten auf einer einzelnen Seite an, so dass ich die Zeitperiode, in der ich lade, zusammen mit der Schleife für verschiedene Wertpapiere durchlaufen muss. Ich habe den folgenden Code verwendet, um auf die entsprechende Seite zuzugreifen.Verwenden von MSXML2.XMLHTTP in Excel VBA zum Extrahieren großer Mengen von Textdaten von der Website
Set httpObject = CreateObject("MSXML2.XMLHTTP")
httpObject.Open "GET", url, False
httpObject.send
webObject.body.innerHTML = httpObject.responseText
Dies funktioniert wie ein Charme für 99% der Daten, die ich zugreifen. Aber hin und wieder stellt sich heraus, dass das von der Website zurückgegebene Objekt leer ist, obwohl die exakt gleiche URL mir die richtigen Daten im Internet Explorer anzeigt. Wenn ich den Code nur für diese URL erneut durchführe, kann es beim nächsten Mal fehlschlagen.
Ich würde gerne wissen, ob es eine stabilere/konsistentere Art der Verwendung der oben genannten Methode gibt. Ich hatte zuvor die InternetExplorer.Application-Methode implementiert, um Daten herunterzuladen, fand aber, dass diese viel langsamer und umständlicher ist.
Vielen Dank für die schnelle Wiederherstellung. Ich werde das ausprobieren und sehen, ob es mein Problem löst. – sinhars82