Python 从yahoo.finance中提取数据

Python 从yahoo.finance中提取数据,python,beautifulsoup,yahoo-finance,Python,Beautifulsoup,Yahoo Finance,我试图从Yahoo Finance中提取200天移动平均线的当前值(到目前为止,我一直在解析finviz.com,由于JSON输出,Yahoo似乎更快) 例如,可以在->交易信息->股票价格历史->200天移动平均线中找到200天移动平均线 此解决方案非常有用: 请求URL如下所示: " 我尝试了不同的模块(在这里找到了模块列表:) 然而,我在任何模块中都找不到200天MA 如果有任何提示或建议,我将不胜感激 我想我知道了! Yahoo finance上还有一个模块返回我想要的信息:summa

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

例如,可以在->交易信息->股票价格历史->200天移动平均线中找到200天移动平均线

此解决方案非常有用:

请求URL如下所示: "

我尝试了不同的模块(在这里找到了模块列表:)

然而,我在任何模块中都找不到200天MA

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

我想我知道了! 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要快得多

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

这是一个非常好的观点!我不知道,只是检查了一下。。。