分析:要定期从财经⽹站抓取股票价格数据,可以使⽤Python的 requests 库来获取数据,然后使⽤ pandas 进⾏数据处理和分析。对于股票数据,⼀个常⻅的数据源是Yahoo Finance,它允许通过API获取股票信息。此外,使⽤ schedule 库可以帮助定期执⾏任务。
以下是⼀个基础的⽰例,展⽰如何使⽤ yfinance 库(⼀个⽅便获取Yahoo Finance数据的库)定期获取特定股票的最新价格,并打印输出。
import yfinance as yf
import schedule #需要安装 yfinance 和 schedule 库: pip install yfinance schedule
import time
def fetch_stock_price(stock_symbol):
"""
获取并打印指定股票的当前价格。
"""
# 获取股票数据
stock = yf.Ticker(stock_symbol)
# 获取当前交易信息
todays_data = stock.history(period='1d')
# 获取收盘价
closing_price = todays_data['Close'][0]
print(f"{stock_symbol}的当前价格: {closing_price}")
def job():
"""
定义⼀个定期执⾏的任务。
"""
print("获取股票价格...")
fetch_stock_price("AAPL") # ⽰例:获取苹果公司股票的价格
# 定时任务:每隔10秒执⾏⼀次
schedule.every(10).seconds.do(job)
# 运⾏调度任务
while True:
schedule.run_pending()
time.sleep(1)
在这个⽰例中, fetch_stock_price 函数⽤于获取并打印指定股票的当前价格。使⽤yfinance.Ticker 来获取股票的数据,然后通过 stock.history(period='1d') 获取今天的数据,并提取收盘价。
job 函数定义了⼀个定期执⾏的任务,调⽤ fetch_stock_price 函数来获取股票价格。通过schedule.every(10).seconds.do(job) 设置了⼀个调度任务,每隔10秒执⾏⼀次 job 函数。然后,通过⼀个⽆限循环调⽤ schedule.run_pending() 来持续执⾏已计划的任务。