daramireh / webscraping_Resultados_Electorales_senado2018_python

0 stars 0 forks source link

Votos obtenidos por partido por Departamento #2

Open daramireh opened 3 years ago

daramireh commented 3 years ago

Cada función representa un partido al final se crea un único data frame para el procesamiento de los datos

def parser_content2(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[2]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[2]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

votos=[] for indx, i in enumerate(links_entregar): votos.append(parser_content2(i))

votos

def parser_content3(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[4]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[4]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content3(i))

def parser_content4(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[6]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[6]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content4(i))

def parser_content5(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[8]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[8]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content5(i))

def parser_content6(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[10]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[10]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content6(i))

def parser_content7(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[12]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[12]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content7(i))

def parser_content8(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[14]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[14]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content8(i))

def parser_content9(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[16]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[16]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content9(i))

def parser_content10(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[18]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[18]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content10(i))

def parser_content11(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[20]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[20]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content11(i))

def parser_content12(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[22]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[22]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content12(i))

def parser_content13(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[24]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[24]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content13(i))

def parser_content14(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[26]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[26]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content14(i))

def parser_content15(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[28]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[28]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content15(i))

def parser_content16(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[30]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[30]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content16(i))

def parser_content17(url): partidos_dic = {}

#requests
r = requests.get(url, timeout=30)
home = r.content.decode('utf-8')
parser = html.fromstring(home)

if r.status_code ==200:

        #nombre departamento
        dpto = '//*[@id="infoGenAmb"]/span/span[1]/text()' #texto
        departamento = parser.xpath(dpto)
        partidos_dic['Departamento'] = departamento

        #Partido          
        partido = '//*[@id="sol1"]/div[5]/div[32]/div[1]/div/span[2]/text()' #texto partido
        partidos = parser.xpath(partido)
        partidos_dic['Partido'] = partidos

        #votos
        votos = '//*[@id="sol1"]/div[5]/div[32]/div[@class="abs campo2de2TituloCandidatos"]/text()'
        voto = parser.xpath(votos)
        partidos_dic['Votos'] = voto

return partidos_dic

for indx, i in enumerate(links_entregar): votos.append(parser_content17(i))

votos

daramireh commented 3 years ago

creando data frame

resultado = pd.DataFrame()

for i in votos: df2 = pd.DataFrame.from_dict(i, orient = 'index') df2 = df2.transpose() resultado = pd.concat([resultado, df2])

guardando archivo excel

resultado.to_excel('votos_partidos_dpto.xlsx', index = False)