2017-05-08 5 views
2

Mein Code adaequat war vor ein paar Tagen, aber seit Freitag habe ich den folgenden Fehler wurde immer:Yahoo Finance API Probleme

File "C:\Python27\Lib\urllib2.py", line 527, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 500: Server Error 

Alles, was ich tue, ist, um die historischen Daten aus der API zugreifen. Hat jemand anderes dieses Problem? Ist das Problem tatsächlich auf den Yahoo Servern? Gibt es eine Möglichkeit, dass ich zu viele Anfragen sende (nach historischen Daten von 100 Aktien fragen)?

+0

Können Sie bitte den Endpunkt teilen, den Sie abfragen? Etwas mehr Kontext wäre wirklich hilfreich. – khan

+0

Warum fügst du keinen Versuch hinzu - außer Block? –

Antwort

0

Ich habe auch das gleiche Problem. Ich bin mit dieser Abfrage:

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22APPL%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback= 

I

> Try 
>   
>   objWebRequest = CType(System.Net.WebRequest.Create(strScrapeString), 
> System.Net.HttpWebRequest) 
>   objWebRequest.KeepAlive = False 
>   objWebRequest.Method = "GET" 
>   **objWebResponse = CType(objWebRequest.GetResponse(), System.Net.HttpWebResponse)** *(this is where it fails on debug)* 
> 
> 
> ... 
>    
>    objWebResponse.Close() 
>   
> 
>    Return strStockPrice 
> 
>   Catch ex As Exception 
>    strResults = strResults + "<br/>" + "**ERROR**" + strSymbol + " Yahoo data not available. Exception Error Message : " + 
> ex.Message.ToString() 
>   End Try 

ich sehen kann, bin mit, dass ich erhalte den Der Remoteserver hat einen Fehler zurückgegeben: (500) Internal Server Error auf einigen Aktien, aber es sind nicht immer dieselben. Ich bekomme Aktienkurse für ungefähr 40 Aktien gleichzeitig. Yahoo Finance hat eine Grenze von 2000 Anfragen pro Stunde für diese Abfrage und wenn Sie das überschreiten, sollte es Fehler mit 403 Fehler, so dass ich nicht denke, Überbeanspruchung ist die Ursache für die 500 Fehler. Ich verwende eine Try, Catch in meinem Code um die objWebRequest.GetResponse.

Verwandte Themen