2017-05-08 3 views
2

Mon code fonctionnait très bien il y a quelques jours, mais depuis vendredi, je reçois des l'erreur suivante:Yahoo API Finance Problèmes

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 

Tout ce que je fais est d'accéder aux données historiques de l'API. Est-ce que quelqu'un d'autre a ce problème? Le problème est-il réellement sur les serveurs de Yahoo? Est-il possible que j'envoie trop de demandes (demandant des données historiques de 100 stocks)?

+0

Pouvez-vous partager le point de terminaison que vous interrogez? Un peu plus de contexte serait vraiment utile. – khan

+0

Pourquoi n'ajoutez-vous pas un essai - sauf un bloc? –

Répondre

0

J'ai aussi le même problème. J'utilise cette requête:

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= 

J'utilise

> 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 

Je peux voir que je reçois le Le serveur distant a renvoyé une erreur: (500) Erreur interne du serveur sur certains stocks, mais ce n'est pas toujours les mêmes. J'obtiens des cours boursiers pour environ 40 actions à la fois. Yahoo Finance a une limite de 2000 demandes par heure pour cette requête et si vous dépassez cela, il devrait erreur avec l'erreur 403, donc je ne pense pas que la surutilisation est la cause de l'erreur 500. J'utilise Try, Catch dans mon code autour de objWebRequest.GetResponse.