-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththread_city.py
66 lines (49 loc) · 2.35 KB
/
thread_city.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from selenium import webdriver
def get_city_results(data):
# print('Executando thread...', data['url'])
# Inicializa webdriver (**Troque pelo webdriver desejado e o caminho**)
driver = webdriver.Chrome(executable_path='./chromedriver')
# Aguarda o browser
driver.implicitly_wait(10)
try:
# Entra na URL
driver.get(data['url'])
print('aguarde...')
resultados = driver.find_elements_by_css_selector('div.results-foo')
custom = driver.find_element_by_css_selector('ul.custom')
# TODO pegar resultados para prefeitos e para vereadores
# resultados_prefeito = resultados[0].find_elements_by_tag_name('span')
# resultados_vereadores = resultados[1].find_elements_by_tag_name('span')
votos_brancos = resultados[1].find_elements_by_tag_name('span')[1].text.split(':')[1]
votos_nulos = resultados[1].find_elements_by_tag_name('span')[2].text.split(':')[1]
vagas_vereadores = custom.find_element_by_tag_name('li').text.split(':')[1]
data['votos_brancos'] = int(votos_brancos.replace(',', ''))
data['votos_nulos'] = int(votos_nulos.replace(',', ''))
data['vagas_vereadores'] = int(vagas_vereadores.replace(',', ''))
except Exception as e:
print(e)
driver.close()
driver.close()
# print('Terminou!')
def get_cities_by_letter(data):
# print('Executando thread...', data['url'])
# Inicializa webdriver (**Troque pelo webdriver desejado e o caminho**)
driver = webdriver.Chrome(executable_path='./chromedriver')
# Aguarda o browser
driver.implicitly_wait(10)
try:
# Navegar para a lista de cidades da letra habilitada
driver.get(data['url'])
# pegando a lista de cidades
city_list_by_letter = driver.find_element_by_css_selector('div.lista-estados')
city_list = city_list_by_letter.find_elements_by_tag_name('li')
for city in city_list:
url = city.find_element_by_tag_name('a').get_attribute('href')
voters = int(city.find_element_by_tag_name('span').text.strip(' eleitores').replace('.', ''))
name = city.find_element_by_tag_name('a').text
data['cities'].update({name: {'voters': voters, 'url': url}})
except Exception as e:
print(e)
driver.close()
driver.close()
# print('Terminou!')