我正在尝试获取麦当劳公司(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)
“使用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] 删除。
我来说两句