如何通过ISIN标识借助googlefinance Python API获取谷歌财经日内数据?
能否通过Python的googlefinance API用ISIN获取谷歌财经日内股票数据?
嘿,这个问题问得挺接地气的!先给你一个明确的结论:原生的第三方googlefinance Python库并不直接支持用ISIN编号查询数据——它的核心调用逻辑是依赖谷歌财经的股票代码(比如AAPL、GOOG这类),而非ISIN。
不过别着急,我们可以通过“曲线救国”的方式实现需求,同时也给你提个更靠谱的替代方案:
方案一:先把ISIN映射为谷歌股票代码,再调用googlefinance
因为googlefinance只认股票代码,所以第一步得把ISIN转换成对应的谷歌财经代码。你可以用yfinance这个库来做映射(它比googlefinance维护得更好,也支持ISIN查询),示例代码如下:
import yfinance as yf def isin_to_google_ticker(isin): # 用yfinance根据ISIN获取对应的股票代码 ticker_obj = yf.Ticker(isin) return ticker_obj.ticker # 示例:Apple的ISIN target_isin = "US0378331005" google_ticker = isin_to_google_ticker(target_isin) print(f"转换后的谷歌股票代码:{google_ticker}") # 输出AAPL
拿到谷歌股票代码后,再调用googlefinance获取日内数据(注意:老版googlefinance库已经很久没维护了,谷歌的接口可能随时调整,大概率会出现请求失败的情况):
from googlefinance import getQuotes # 获取日内数据 intraday_data = getQuotes(google_ticker) print(intraday_data)
方案二:直接用yfinance替代googlefinance(更推荐)
既然googlefinance库已经濒临失效,不如直接用yfinance一步到位——它原生支持ISIN查询,而且能稳定获取日内数据,示例代码:
import yfinance as yf target_isin = "US0378331005" ticker_obj = yf.Ticker(target_isin) # 获取1天内的1分钟间隔日内数据(免费用户有调用频率限制) intraday_data = ticker_obj.history(period="1d", interval="1m") print(intraday_data)
需要注意的是,yfinance的免费版对高频数据(比如1分钟间隔)有调用次数限制,如果是大量查询可能需要考虑付费方案或者调整查询频率。
内容的提问来源于stack exchange,提问作者Prou Prou Tyu
相关产品推荐
相关产品推荐

