#python-3.x #web-scraping #css-selectors
#python-3.x #очистка веб-страниц #css-селекторы
Вопрос:
пытаясь очистить страницу википедии Tesla, я хотел, наконец, очистить таблицу finnces. при попытке проделать то же самое с классом table в моем коде выполняется очистка почти каждой таблицы на этой странице. может кто-нибудь, пожалуйста, помочь мне очистить только таблицу финансов. ниже приведен мой код;
start_url='https://en.wikipedia.org/wiki/Tesla,_Inc.'
download_page=requests.get(start_url)
soup=BeautifulSoup(download_page.text)
with open ('download.html', 'w', encoding="utf-8") as file:
file.write(soup.prettify())
fullsales_table=soup.select('table.wikitable')[0]
print(fullsales_table)
Ответ №1:
Возможно, вы захотите попробовать pandas
.
Вот как:
import pandas as pd
import requests
page = requests.get("https://en.wikipedia.org/wiki/Tesla,_Inc.").text
df = pd.read_html(page, flavor="bs4")[7]
print(df)
df.to_csv("tesla_revenue.csv", index=False)
Это печатает (и сохраняет таблицу в файл .csv):
Year Revenue(mil. USD) ... Total assets(mil. USD) Employees
0 2009[463] 112 ... 130 NaN
1 2010[463] 117 ... 386 899.0
2 2011[464] 204 ... 713 1417.0
3 2012[465] 413 ... 1114 2914.0
4 2013[466] 2013 ... 2417 5859.0
5 2014[467] 3198 ... 5831 10161.0
6 2015[468] 4046 ... 8068 13058.0
7 2016[469] 7000 ... 22664 17782.0
8 2017[470] 11759 ... 28655 37543.0
9 2018[471] 21461 ... 29740 48817.0
10 2019[3] 24578 ... 34309 48016.0
[11 rows x 5 columns]