Я новичок в анализе, я написал код, который показывает данные не так, как должно быть.
from selenium import webdriver
wd = webdriver.Chrome(executable_path = 'C:/Users/mirko/bin/chromedriver')
wd.get('http://reports.weforum.org/global-competitiveness-report-2018/country-economy-profiles/#economy=KAZ')
soup_page = BeautifulSoup(wd.page_source, 'html.parser')
table = soup_page.find_all('li', {"class":'economy-series-table-row economy-series-table-row--index economy-series-table-row economy-series-table-row--responsive economy-series-table-row economy-series-table-row--gci-4 economy-series-table-row economy-series-table-row--depth-0'})
index_list = []
col2 = soup_page.find_all('div', {"class":'economy-series-table-row__entity economy-series-table-row__entity--link'})
for elem1 in col2:
index = elem1.findNext('span', attrs= {'class':'economy-series-table-row__entity-name'}).get_text().strip()
index_list.append(index)
value_list = []
for value in soup_page.findAll('b', attrs= {'class':'economy-series-table-row__value economy-series-table-row__value--fade'}):
value = value.get_text()
value_list.append(value.strip())
score_list = []
for score in soup_page.findAll('b', attrs= {'class':'economy-series-table-row__score'}):
score = score.get_text()
score_list.append(float(score.strip()))
rank_list = []
for rank in soup_page.findAll('b', attrs= {'class':'economy-series-table-row__rank'}):
rank = rank.get_text()
rank_list.append(int(rank.strip()))
best_perfomer = []
for perfomer in soup_page.findAll('div', attrs= {'class':'economy-series-table-row__td economy-series-table-row__td--best'}):
perfomer = perfomer.get_text()
best_perfomer.append(perfomer.strip())
head_col = []
col1 = soup_page.find_all('div', {"class":'economy-series-table-row__entity economy-series-table-row__entity--link'})
for elem in col1:
head = elem.find("span").get_text().strip()
head_col.append(head)
import pandas as pd
indicators = pd.DataFrame({
"col1": head_col,
"index": index_list,
"value": value_list,
"score": score_list,
"rank": rank_list,
"best perfomer": best_perfomer,
})
print(indicators.info())
indicators
Это синтаксический анализ http://reports.weforum.org/global-competitiveness-report-2018/country-economy-profiles/#economy = KAZ site.
У меня есть эти результаты моя версия
Но результат должен выглядеть следующим образом result