python - 股票数据请求被拒绝后继续查询Yahoo Finance

标签 python error-handling yahoo-api yahoo-finance stock

我正在尝试使用Python和Yahoo金融获取有关一些瑞典公司的数据。当我进入诸如KIND-SDB.ST的代码时,我得到了

RemoteDataError: Unable to read URL: http://ichart.finance.yahoo.com/table.csv?a=1&ignore=.csv&s=KIND-SDB.ST&b=1&e=1&d=2&g=d&f=2017&c=2017

如何获取雅虎财务信息以窃取该数据,如果不能获取,即使其中一个行情 list 已损坏,我如何继续处理其他行情 list ?

我的小脚本看起来像这样:
start = datetime.date(2017,2,1)
end = datetime.date.today()


my_stocks = ['NEPA.ST','EVO.ST','KIND-SDB.ST','EVO.ST','ATCO-B.ST','KINV-B.ST','NDA-SEK.ST','SAND.ST','GRNG.ST','JM.ST','SAAB-B.ST','STAR-B.ST','ASSA-B.ST','INVE-B.ST','INDU-C.ST','SKF-B.ST']

pylab.rcParams['figure.figsize'] = (10, 4)   # Change the size of plots



def stockplotter(ticker,start,end,numb):
    stock = pdr.get_data_yahoo(ticker,start,end)
    plt.figure(numb)
    stock["Adj Close"].plot(grid = True)
    plt.title(ticker)
    plt.ylabel('SEK@close')
    numb+=1

numb = 1
for i in my_stocks:

    stockplotter(i, start, end, numb)
    numb += 1

最佳答案

要在出现错误后继续查询API,您需要catch and handle异常。

def stockplotter(ticker,start,end,numb):
    try:
        stock = pdr.get_data_yahoo(ticker,start,end)
    except RemoteDataError:
        pass

    plt.figure(numb)
    stock["Adj Close"].plot(grid = True)
    plt.title(ticker)
    plt.ylabel('SEK@close')

关于python - 股票数据请求被拒绝后继续查询Yahoo Finance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540114/

相关文章:

php - 如何将 noindex 元标记添加到错误报告页面。

python - Django handler500 作为基于类的 View

iphone - 雅虎日历 API iPhone

android - Yahoo 身份验证中的 400 错误请求

json - 我希望将雅虎财经 API 过滤为仅出价在 0 美元到 10 美元之间的股票

python - 获取ChatGPT API的流程是怎样的?

python - 使用 self.xxxx 作为默认参数 - Python

python - 使用 genfromtxt 创建具有空列的 numpy 数组

python - Wagtail:添加对其他图像文件格式的支持

laravel - 方法Save()Laravel 5.6,返回True或False