【问题标题】:Error in downloading Stock Price data from Yahoo finance using yfinance in Python在 Python 中使用 yfinance 从 Yahoo Finance 下载股票价格数据时出错
【发布时间】:2020-09-15 14:03:34
【问题描述】:

我在 python 中使用yfinance 库来一次下载多个股票代码的股票价格数据。以下是代码:

import yfinance as yf

import pandas as pd

x1 = yf.download("STNE BYND HTZ....SFET AMD", period ="1d")

我在用空格分隔的字符串中一次传递 800 个代码。

但是每次我运行代码时都会出现以下错误:

requests.exceptions.SSLError: HTTPSConnectionPool(host='query1.finance.yahoo.com', port=443): Max retries exceeded with url: /v8/finance/chart/UVV?range=1d&interval=1d &includePrePost=False&events=div%2Csplits (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines','tls process server certificate', 'certificate verify failed')])")))"

某些代码在运行时会出现此错误,尽管为其余代码下载了数据,但代码未编译

【问题讨论】:

    标签: python stock yfinance


    【解决方案1】:

    我认为问题源于 Requests 库(用于 yfinance)。该错误指示不受信任的 SSL 证书。有一种方法可以通过在请求中设置“verify=False”来跳过 SSL 证书的验证。更多信息可以在这里找到:Python Requests throwing SSLError

    当我查看 yfinance .py 文件时,我发现如下代码行:

    r = _requests.get(url=url, proxies=proxy).json()

    您可能需要修改这些行以包含 'verify=False' 语句,使其看起来像这样:request.get(url=url, proxies=proxy, verify=False).json()

    我不完全确定在您使用代理时是否允许“验证=假”。您可以尝试将其添加到 .py 文件中的请求行中,看看是否可以解决问题。

    为了它的价值,我尝试用大约 500 个股票代码(S&P500 列表)运行它,但无法重现此错误。如果您发布您正在使用的 800 的股票代码列表,我可以尝试一下。

    我的输出:

    MMM ABT ABBV ABMD ACN ATVI ADBE AMD AAP AES AFL A APD AKAM ALK ALB ARE ALXN ALGN ALLE AGN ADS LNT ALL GOOGL GOOG MO AMZN AMCR AEE AAL AEP AXP AIG AMT AWK AMP ABC AME AMGN APH ADI ANSS ANTM AON AOS APA AIV AAPL AMAT APTV ADM ARNC ANET AJG AIZ ATO T ADSK ADP AZO AVB AVY BKR BLL BAC BK BAX BDX BRK.B BBY BIIB BLK BA BKNG BWA BXP BSX BMY AVGO BR BF.B CHRW COG CDNS CPB COF CPRI CAH KMX CCL CAT CBOE CBRE CDW CE CNC CNP CTL CERN CF SCHW CHTR CVX CMG CB CHD CI XEC CINF CTAS CSCO C CFG CTXS CLX CME CMS KO CTSH CL CMCSA CMA CAG CXO COP ED STZ COO CPRT GLW CTVA COST COTY CCI CSX CMI CVS DHI DHR DRI DVA DE DAL XRAY DVN FANG DLR DFS DISCA DISCK DISH DG DLTR D DOV DOW DTE DUK DRE DD DXC ETFC EMN ETN EBAY ECL EIX EW EA EMR ETR EOG EFX EQIX EQR ESS EL EVRG ES RE EXC EXPE EXPD EXR XOM FFIV FB FAST FRT FDX FIS FITB FE FRC FISV FLT FLIR FLS FMC F FTNT FTV FBHS FOXA FOX BEN FCX GPS GRMN IT GD GE GIS GM GPC GILD GL GPN GS GWW HRB HAL HBI HOG HIG HAS HCA PEAK HP HSIC HSY HES HPE HLT HFC HOLX HD HON HRL HST HPQ HUM HBAN HII IEX IDXX INFO ITW ILMN IR INTC ICE IBM INCY IP IPG IFF INTU ISRG IVZ IPGP IQV IRM JKHY J JBHT SJM JNJ JCI JPM JNPR KSU K KEY KEYS KMB KIM KMI KLAC KSS KHC KR LB LHX LH LRCX LW LVS LEG LDOS LEN LLY LNC LIN LYV LKQ LMT L LOW LYB MTB M MRO MPC MKTX MAR MMC MLM MAS MA MKC MXIM MCD MCK MDT MRK MET MTD MGM MCHP MU MSFT MAA MHK TAP MDLZ MNST MCO MS MOS MSI MSCI MYL NDAQ NOV NTAP NFLX NWL NEM NWSA NWS NEE NLSN NKE NI NBL JWN NSC NTRS NOC NLOK NCLH NRG NUE NVDA NVR ORLY OXY ODFL OMC OKE ORCL PCAR PKG PH PAYX PAYC PYPL PNR PBCT PEP PKI PRGO PFE PM PSX PNW PXD PNC PPG PPL PFG PG PGR PLD PRU PEG PSA PHM PVH QRVO PWR QCOM DGX RL RJF RTN O REG REGN RF RSG RMD RHI ROK ROL ROP ROST RCL SPGI CRM SBAC SLB STX SEE SRE NOW SHW SPG SWKS SLG SNA SO LUV SWK SBUX STT STE SYK SIVB SYF SNPS SYY TMUS TROW TTWO TPR TGT TEL FTI TFX TXN TXT TMO TIF TJX TSCO TDG TRV TFC TWTR TSN UDR ULTA USB UAA UA UNP UAL UNH UPS URI UTX UHS UNM VFC VLO VAR VTR VRSN VRSK VZ VRTX VIAC V VNO VMC WRB WAB WMT WBA DIS WM WAT WEC WFC WELL WDC WU WRK WY WHR WMB WLTW WYNN XEL XRX XLNX XYL YUM ZBRA ZBH ZION ZTS
    [*********************100%***********************]  505 of 505 completed
    
    5 Failed downloads:
    - BF.B: No data found for this date range, symbol may be delisted
    - AGN: No data found for this date range, symbol may be delisted
    - RTN: No data found for this date range, symbol may be delisted
    - BRK.B: No data found, symbol may be delisted
    - UTX: No data found for this date range, symbol may be delisted
                Adj Close                                        ...     Volume
                        A    AAL         AAP    AAPL       ABBV  ...        YUM     ZBH    ZBRA     ZION      ZTS
    Date                                                         ...
    2020-05-28  86.690002  10.98  138.440002  318.25  90.029999  ...        NaN  943129  328467  3191223  2277508
    2020-05-28  86.690002  10.98  138.440002  318.25  90.029999  ...  4006148.0  943129  328467  3191223  2277508
    
    [2 rows x 3030 columns]
    >>>
    

    【讨论】:

    • 感谢您的帮助,但有没有办法在不更改函数定义的情况下做到这一点,因为我的组织不允许更改验证语句。
    猜你喜欢
    • 2017-01-08
    • 1970-01-01
    • 2020-07-08
    • 2018-09-17
    • 2021-12-20
    • 2021-12-12
    • 2020-11-28
    • 2018-01-02
    相关资源
    最近更新 更多