2017-05-08 209 views
2

我的代碼是前幾天工作正常,但自上週五以來,我一直得到以下錯誤:雅虎財經API問題

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 

我做的是從API訪問歷史數據。有其他人有這個問題嗎?問題實際上在雅虎服務器上?我是否有可能發送太多請求(詢問100只股票的歷史數據)?

+0

你可以請分享你正在查詢的端點嗎?更多的上下文會非常有幫助。 – khan

+0

爲什麼你不添加一個嘗試 - 除了塊? –

回答

0

我也有同樣的問題。我使用此查詢:

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= 

我使用

> 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 

我可以看到,我收到 遠程服務器返回錯誤:對一些股票(500)內部服務器錯誤 ,但它並不總是相同的。我一次獲得大約40只股票的股票價格。 雅虎財務對此查詢的每小時請求限制爲2000次,如果超過了這個數字,它應該有403錯誤出錯,所以我不認爲過度使用是500錯誤的原因。我正在使用Try,Catch在圍繞objWebRequest.GetResponse的代碼中。