首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期抓取雅虎财经

定期抓取雅虎财经
EN

Stack Overflow用户
提问于 2020-05-24 01:33:42
回答 1查看 4.8K关注 0票数 4

我是新来的网络抓取,需要抓取雅虎财务来获得股票数据。我能够抓取他们的历史数据,但是他们拥有的最高频率是1天间隔,我正在寻找更高的频率(大约30分钟到1小时)。不幸的是,雅虎财经和其他金融网站(根据我的调查)不会免费发布高于1天的频率。我获得更高频率的解决方案在于雅虎财经为每只股票提供的图表功能,如下所示:

正如您所看到的,当您沿x轴移动时,十字光标将沿着数据线移动,左上角的图例将更改相关信息(Open、High、Low、Close、Volume、% Change)。因此,理想情况下,我每天都会查看一家公司过去24小时的数据图表,然后在我将光标从左向右移动时,以某种方式阅读左边的图例。

在开始之前,我想知道(a)是否有人已经这样做了,或者(b)有什么有用的资源可以让这件事变得更容易。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-05-25 09:26:58

yfinance有一个下载功能,它使用线程来实现快速下载。正如评论中提到的,您可以获取1m tick数据,但仅限7天。你会注意到,在下面的代码中,如果你输入一个大于7d的值,它将抛出一个错误。

代码语言:javascript
复制
1 Failed download:
- SPY: 1m data not available for startTime=1589678598 and endTime=1590369798. Only 7 days worth of 1m granularity data are allowed to be fetched per request.
Empty DataFrame

9:30A-4 4PM是东海岸的市场开放时间。但是你会注意到一些股票行情在几个小时后交易(例如间谍)。您可以设置下面的“prepost”属性,以说明开市前/开市后定价。希望这能有所帮助。

代码语言:javascript
复制
import yfinance as yf

data = yf.download(  # or pdr.get_data_yahoo(...
        # tickers list or string as well
        tickers = "SPY",

        # use "period" instead of start/end
        # valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
        # (optional, default is '1mo')
        period = "7d",

        # fetch data by interval (including intraday if period < 60 days)
        # valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
        # (optional, default is '1d')
        interval = "1m",

        # group by ticker (to access via data['SPY'])
        # (optional, default is 'column')
        group_by = 'ticker',

        # adjust all OHLC automatically
        # (optional, default is False)
        auto_adjust = True,

        # download pre/post regular market hours data
        # (optional, default is False)
        prepost = False,

        # use threads for mass downloading? (True/False/Integer)
        # (optional, default is True)
        threads = True,

        # proxy URL scheme use use when downloading?
        # (optional, default is None)
        proxy = None
    )

print(data)

结果:

代码语言:javascript
复制
[*********************100%***********************]  1 of 1 completed
                                 Open        High         Low       Close   Volume
Datetime
2020-05-14 09:30:00-04:00  278.950012  279.220001  278.769989  279.160004  5701148
2020-05-14 09:31:00-04:00  279.149994  279.670013  279.149994  279.640015   602618
2020-05-14 09:32:00-04:00  279.649994  279.709991  278.980011  278.980011   445239
2020-05-14 09:33:00-04:00  278.959991  279.059998  278.890015  278.970001   110324
2020-05-14 09:34:00-04:00  278.649994  278.869995  278.609985  278.780487   968209
....
....

更多信息:https://pypi.org/project/yfinance/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61976027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档