我正试图从网上搜集州长选举数据,而我正在努力解决其中的一部分问题。因此,在这两个案例中你可以看到,有两个候选人(民主或共和党)或3个候选人(民主党,共和党,独立党)。
我编写了以下代码来抓取数据。这适用于2候选情况,但我不确定如何使它适用于这两种情况。
这是我的代码:
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
#Scrape the percentage Numbers
table = soup.find_all('table')[0]
table_row = table.find_all('tr')[1]
table_data = table_row.find_all('td')[3:5]
案例1:
案例2:
答案 0 :(得分:1)
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
table = soup.find_all('table')[0]
table_row = table.find_all('tr')[1]
table_data = table_row.find_all('td')
if table_data[-1].class == 'spread': #checking whether the last td has class spread
table_data = table_data[3:5]
else:
table_data = table_data[3:6]