使用BeautifulSoup从网页下载损益表并转换为Pandas数据框?

亚瑟·罗

我正在尝试获取麦当劳公司(MCD)的损益表“ https://finance.yahoo.com/quote/MCD/financials?p=MCD ”。我用了美丽的汤。html已下载,但是损益表中似乎没有典型的“ tr”,“ td”标签。如何将损益表转换为df数据框?

我的代码:

url="https://finance.yahoo.com/quote/MCD/financials?p=MCD"
result = requests.get(url)
result.raise_for_status()
result.encoding = "utf-8"


src = result.content
soup = BeautifulSoup(src, 'lxml')
print(soup)

array = []
for tr_tag in soup.find_all('tr'):
    b_tag = tr_tag.find_all('td')
    array.append(b_tag)
print(array)
gmdev

“使用BeautifulSoup从网页下载损益表...”

首先,你说soup.find_all('tr')但是,tr损益表中没有标签。在网站上,每一行都有一个div标签,然后有一个特定的class指定class确实可以帮助您准确告知程序您要从网站获得的内容。我使用了div class“ D(tbr)行Bgc($ hoverBgColor):h”,因为它在表的每一行都是一致的。然后,您可以使用该text功能从网站(而不是)获取原始文本HTML

url="https://finance.yahoo.com/quote/MCD/financials?p=MCD"
result = requests.get(url)
result.raise_for_status()
result.encoding = "utf-8"

src = result.content
soup = BeautifulSoup(src, 'lxml')

rows = []
for i in soup.find_all('div',{'class':'D(tbr) fi-row Bgc($hoverBgColor):h'}):
    row = i.text
    rows.append(row)

print(rows)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章