【问题标题】:Yahoo Finance: unable to read URL雅虎财经:无法读取网址
【发布时间】:2022-02-21 21:25:56
【问题描述】:

一段时间以来,我一直在使用以下代码从 yahoo Finance 中提取股票价格。此代码现在生成一个错误,指出它无法读取 url。

import pandas_datareader.data as web
stock = web.DataReader(i_allStock+'.L', 'yahoo', start, end)

有没有人遇到过这个问题并找到了解决方案?

【问题讨论】:

标签: python-3.x url yahoo-finance


【解决方案1】:

这样试试吧。

from math import sqrt
from sklearn.cluster import MiniBatchKMeans 
import pandas_datareader as dr
from matplotlib import pyplot as plt
import pandas as pd
import matplotlib.cm as cm
import seaborn as sn

start = '2019-1-1'
end = '2020-1-1'

tickers = ['AXP','AAPL','BA','CAT','CSCO','CVX','XOM','GS','HD','IBM','INTC','JNJ','KO','JPM','MCD',    'MMM',  'MRK',  'MSFT', 'NKE','PFE','PG','TRV','UNH','RTX','VZ','V','WBA','WMT','DIS','DOW']
prices_list = []
for ticker in tickers:
    try:
        prices = dr.DataReader(ticker,'yahoo',start)['Adj Close']
        prices = pd.DataFrame(prices)
        prices.columns = [ticker]
        prices_list.append(prices)
    except:
        pass
    prices_df = pd.concat(prices_list,axis=1)
prices_df.sort_index(inplace=True)
prices_df.head()

【讨论】:

    【解决方案2】:

    您可以将一大堆项目放在一个列表中。雅虎财经将立即检索所有这些

    import yfinance as yf
    etf = ['AXP','AAPL','BA','CAT','CSCO','CVX','XOM','GS','HD','IBM','INTC','JNJ','KO'] 
    tit = yf.download(tickers=etf, period='max')
    

    【讨论】:

    • 这如何解决 OP 的问题?也请使用编辑按钮或 Markdown 格式规则来格式化您的回复。 Markdown 提示可能会出现在侧边栏中。最后,请查看帮助部分(链接到每页顶部)中的主题,以获取有关如何回答 SO 问题的其他指南。
    猜你喜欢
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多