我刚刚开发了一个代码来使用 yahoo_fin 模块从雅虎获取基本数据。这里是代码。问题是在从 20 只股票中检索信息后,它开始失败并且无法检索任何数据。知道如何解决这个问题吗?我使用了 time.sleep(10) 但没有工作。
这里是代码。...
import pandas as pd
import math
import numpy as np
import yfinance as yf
from pandas import ExcelWriter
import datetime
import yahoo_fin.stock_info as si
from datetime import datetime
import matplotlib.pyplot as plt
import seaborn as sns
import datetime as dt
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader.data as web
import time
count=0
DiagnosticsResearch=['GTH', 'MYGN', 'CSTL', 'LNTH', 'PSNL', 'SRDX', 'VIVO', 'FLDM', 'QTNT', 'OXFD', 'CNTG', 'ARA', 'DMTK', 'XGN', 'ENZ', 'STIM', 'BNGO', 'BWAY', 'BASI', 'CELC', 'MOTS', 'HTGM', 'NDRA']
tickers= DiagnosticsResearch
for i in range(len(tickers)):
ticker=tickers[i]
try:
count=count +1
df_bs= pd.DataFrame(si.get_balance_sheet(ticker, yearly=True))
df_is=pd.DataFrame(si.get_income_statement(ticker, yearly=True))
df_cf=pd.DataFrame(si.get_cash_flow(ticker, yearly=True))
print (tickers[i] + " Ok")
if count>=20:
time.sleep(20)
else:
time.sleep(1)
except:
print (tickers[i] + "->NOT OK")
if count>=20:
time.sleep(20)
else:
time.sleep(1)
pass
...
输出是下一个
有时它会检索 10 支股票,其他 20 支,其他 4 支
关于如何解决这个问题的任何想法?
亲切的问候