Python Beautiful Soup拆分数据

Python Beautiful Soup split data

我正在尝试在 Python 中创建股票数据分析程序。我正在从 Yahoo Finance 抓取数据。我唯一的问题似乎是 'splitting' 数据。例如,我一直在尝试获取 'total revenue' 数据,但是它 returns 比来自雅虎金融网站的 table 行多,我不确定如何使用 .split在这种情况下,只需获取一串总收入。这是我的代码:

from bs4 import BeautifulSoup
import requests



def get_fundamentals(ticker):
       #function to grab fundamental stock data from yahoo finance

       html = requests.get("https://finance.yahoo.com/quote/" + ticker.upper  () + "/financials?p=" + ticker.upper())#Tags in lxml, html5lib, or html.parser
       soup = BeautifulSoup(html.text, 'html.parser')
       stock_total_revenue = soup.find('td',{'class':'Fz(s) Ta(end) Pstart(10px)'})
       print(stock_total_revenue)

ticker = input("Please enter a stock ticker: ")

get_fundamentals(ticker)

我能够识别我想要的 table 数据和 class,这让我到了正确的行以获得股票收入,但是,它也带来了很多其他附加数据,这就是我无法弄清楚如何 'split' 数据的地方,因此它只有 returns 收入。这是我 运行 程序时的输出:

Please enter a stock ticker: dxtr
<td class="Fz(s) Ta(end) Pstart(10px)" data-reactid="39"><span data-reactid="40">3,423</span></td>

我一直在尝试拆分数据,以便它简单地打印出总收入(在本例中为该股票的 3,423)。我将为用户输入的任何股票执行此操作,但是如您所见,我得到了额外的数据,但我不确定如何拆分。

您已经拥有该元素。当您打印一个元素时,它包括它的标记。如果只需要元素的文本,请使用元素的 .text 属性。

>>> print(stock_total_revenue.text)
3,423