Мне нужно очистить данные со страницы с несколькими выпадающими меню, используя Python - PullRequest
0 голосов
/ 25 мая 2019

Мне нужно почистить данные с этого сайта. Я сделал соскоб со страниц, на которых в прошлом не было выпадающих меню.

Я никогда не делал процесс очистки в случае выпадающего меню. На вышеупомянутой странице я собрал и экспортировал данные для дела «Ichapuram» в раскрывающемся меню «Выбор группы» (т. Е. Для одной опции в раскрывающемся меню) .

Вот код для того же.

import requests
url='http://results.eci.gov.in/ac/en/constituencywise/ConstituencywiseS011.htm'
r = requests.get(url)                   #Sending requests to the page
from bs4 import BeautifulSoup           #For parsing html
content_parser = BeautifulSoup(r.content, 'html.parser')

rows=content_parser.find_all("tr",{'style':'font-size:12px;'})     #to find the rows of the table (7 in this case)
data=[]                                 #to store the data scraped

for i in range(0,len(rows)):                
    row=rows[i]
    col=row.find_all("td")              #Each row contains 7 columns enclosed with <td> </td> tag
    candidate=col[1].text.strip()      #The (.text) copies the text from the element in given row and column, (.strip) is used to remove any gaps present.
    party=col[2].text.strip()
    votes=int(col[5].text.strip())
    percentage=float(col[6].text.strip())
    data.append((candidate,party, votes, percentage))
                                        #The above code appends all the stored data (of 4 columns) with their respective column names mentioned 
import pandas as pd
data_frame=pd.DataFrame(data,columns=['candidate','party', 'votes', 'percentage'])
                                        #To store the whole data as a Data Frame (which can be converted to XLS/CSV files easily)
data_frame=data_frame.set_index('party')  #setting "party" column as index

from pandas import ExcelWriter
datatoexcel=ExcelWriter('C:/Users/SHRI/AppData/Local/Programs/Python/Python37/apelections.xlsx')
data_frame.to_excel(datatoexcel,'Sheet1')
datatoexcel.save()

Это результат приведенного выше кода для одного избирательного округа:

The result

Но в раскрывающемся меню есть еще 175 таких случаев (округов). Итак, как повторить этот процесс? Кроме того, размеры таблицы не будут одинаковыми для каждого выпадающего меню. Итак, как подойти к этому и очистить данные из оставшихся 175 выпадающих меню в «Выбор постоянных» с помощью Python? Спасибо!

...