V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
emisora
V2EX  ›  Python

yfinance 获取数据总是 too many request 无法获取价格啊

  •  
  •   emisora · 14 小时 29 分钟前 · 774 次点击

    这问题都出现半年了。尝试用 AI 解决,给我试了半天还都是 too many request.

    我的网络是可以用 gemini cli 之类的,按理说应该不是网络问题啊。

    简单测试代码如下:

    import yfinance as yf
    import pandas as pd
    
    # 设置永辉超市的股票代码
    ticker = "601933.SS"  # .SS 表示上海证券交易所
    
    # 创建 yfinance 对象
    stock = yf.Ticker(ticker)
    
    # 获取实时价格(最新收盘价或当前价格,视市场情况而定)
    current_price = stock.history(period="1d")["Close"].iloc[-1]
    
    # 获取股票的详细信息(包括公司名称等)
    info = stock.info
    
    # 输出结果
    print(f"永辉超市 ({ticker}) 的实时价格: {current_price:.2f} CNY")
    print(f"公司名称: {info.get('shortName', '未知')}")
    

    运行就直接报错:

     line 11, in <module>
        current_price = stock.history(period="1d")["Close"].iloc[-1]
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/utils.py", line 103, in wrapper
        result = func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/base.py", line 91, in history
        return self._lazy_load_price_history().history(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/utils.py", line 103, in wrapper
        result = func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/scrapers/history.py", line 178, in history
        data = get_fn(
               ^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/utils.py", line 103, in wrapper
        result = func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/data.py", line 364, in get
        return self._make_request(url, request_method = self._session.get, user_agent_headers=user_agent_headers, params=
    params, timeout=timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/utils.py", line 103, in wrapper
        result = func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^
      File "/opt/anaconda3/lib/python3.12/site-packages/yfinance/data.py", line 424, in _make_request
        raise YFRateLimitError()
    yfinance.exceptions.YFRateLimitError: Too Many Requests. Rate limited. Try after a while.
    

    这要怎么解决呢,难道 yahoo 的 API 封这么严重啊。有没有知道怎么解决的老兄啊,感谢!

    10 条回复    2025-09-29 18:02:50 +08:00
    promiser3d
        1
    promiser3d  
       14 小时 16 分钟前
    本来就不支持 A 股和港股的 tick 。只有美股有 tick 数据。
    coefu
        2
    coefu  
       11 小时 56 分钟前
    高频包括 tick 级别的数据,都是网络里最宝贵的资源,你甚至花钱都不知道去哪里获取。虽然不如 alpha 因子 珍贵,但是要得到也是要费不少时间和精力的,所有开源的这些封装都是忽悠人的。
    kxg3030
        3
    kxg3030  
       11 小时 31 分钟前
    如果需要可以私我 可以提供 tick 数据
    1024G
        4
    1024G  
       11 小时 23 分钟前
    yfinance.exceptions.YFRateLimitError: Too Many Requests. Rate limited.

    超过服务器配置的每秒请求的数量了
    ModiKa2022
        5
    ModiKa2022  
       10 小时 55 分钟前
    秒级的数据都可以获取,为什么只用 yfinance
    jkc626
        6
    jkc626  
       10 小时 47 分钟前
    yfinance 就是经常超时。现在免费的数据接口越来越少了,质量好一些的都需要付费。最近我都在考虑要不要付费开通下 tushare 的权限了。
    DefoliationM
        7
    DefoliationM  
       10 小时 20 分钟前
    https://query1.finance.yahoo.com

    User-Agent curl/7.68.0


    api 改了,需要加个 UserAgent 。苹果也用的 yahoo 的接口。
    DefoliationM
        8
    DefoliationM  
       10 小时 13 分钟前
    @DefoliationM 自测黄金还能用 代号是:GC=F ,SGC=F 和 SGU=F
    sk217
        9
    sk217  
       10 小时 10 分钟前
    @coefu 金融领域 整理好没有出错的数据,就相当难得了,很多数据源压根就没人维护,甚至还有很多错误,像是拆股后,前复权后复权 都没人弄
    DefoliationM
        10
    DefoliationM  
       9 小时 42 分钟前
    @DefoliationM useragent 写错了

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:136.0) Gecko/20100101 Firefox/136.0
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:45 · PVG 03:45 · LAX 12:45 · JFK 15:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.