【问题标题】:Extracting data from yahoo.finance从 yahoo.finance 中提取数据
【发布时间】:2018-10-23 20:19:54
【问题描述】:

我正在尝试从 Yahoo Finance 提取 200 天移动平均线的当前值(到目前为止,我一直在解析 finviz.com,由于 JSON 输出,Yahoo 似乎更快)。

例如,200 天均线可以在https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL 找到 -> 交易信息 -> 股价历史 -> 200 天移动平均线

这个解决方案非常有用: Using BeautifulSoup to Search Through Yahoo Finance

请求 URL 如下所示: https://query2.finance.yahoo.com/v10/finance/quoteSummary/AAPL?formatted=true&crumb=8ldhetOu7RJ&lang=en-US&region=US&modules=defaultKeyStatistics%2CfinancialData%2CcalendarEvents&corsDomain=finance.yahoo.com'

我尝试了不同的模块(在这里找到了模块列表:Yahoo Finance URL not working

但是,我在任何模块中都找不到 200 天均线。

如有任何提示或建议,我将不胜感激!

【问题讨论】:

    标签: python beautifulsoup yahoo-finance


    【解决方案1】:

    我想我明白了! Yahoo Finance 上还有另一个模块可以返回我正在寻找的信息:summaryDetail

    其实很简单:

    from bs4 import BeautifulSoup
    import requests
    
    r = requests.get('https://query2.finance.yahoo.com/v10/finance/quoteSummary/GLW?formatted=true&crumb=8ldhetOu7RJ&lang=en-US&region=US&modules=summaryDetail&corsDomain=finance.yahoo.com')
    data = r.json()
    financial_data=data['quoteSummary']['result'][0]['summaryDetail']
    twoHundredMA_dict = financial_data['twoHundredDayAverage']
    print(twoHundredMA_dict['fmt'])
    

    在这种情况下,使用 JSON 而不是 lxml 会更快!

    【讨论】:

      【解决方案2】:

      请注意,雅虎关键统计页面上的 200 天移动平均线基于 200 个日历日,而不是 200 个交易日的传统定义。

      【讨论】:

      • 这是一个非常好的观点!我不知道,但只是检查了一下......
      猜你喜欢
      • 2011-04-18
      • 1970-01-01
      • 2016-07-15
      • 2016-09-23
      • 2020-11-03
      • 2014-10-12
      • 2020-01-14
      • 2015-05-24
      • 2021-06-23
      相关资源
      最近更新 更多