Last active
March 21, 2018 02:20
-
-
Save dunossauro/f9c751b8a2ad89a822eb4283ebf4129c to your computer and use it in GitHub Desktop.
Exemplo do download das agendas do www.mdic.gov.br
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Exemplo agendas. | |
Não mencionar PEP8, feito em 5m | |
""" | |
from re import sub | |
from bs4 import BeautifulSoup as bs | |
from selenium import webdriver | |
from requests import get | |
browser = webdriver.Firefox() | |
base_url = 'http://www.mdic.gov.br/index.php/agenda' | |
h1_class = 'autoridades-item-destaque' | |
req = get(base_url, 'html.parser').text | |
page = bs(req) | |
links = [(f"{base_url}{(x.find('a')['href'])}", y.text) | |
for x, y in zip(page.find_all('div', {'class': h1_class}), | |
page.find_all('a', {'class': 'link-nome-autoridade'}))] | |
file = open('out.csv', 'w') | |
file.write('Dia;Horário;nome;evento\n') | |
def scrap(page_source): | |
data = page_source.find('div', {'class': 'autoridade-header'}) | |
text_page = page_source.find('div', {'class': 'autoridade-compromissos tile-list-1'}) | |
agendas = text_page.find_all('h3') | |
horarios = text_page.find_all('li', {'class': 'autoridade-compromisso-inicio'}) | |
for agenda, horario in zip(agendas, horarios): | |
file.write( | |
'{};{};{};{}\n'.format(data.find('h2').text.strip(), | |
horario.text.strip().strip('Início:').strip(), | |
nome.strip(), | |
agenda.text.strip())) | |
for link, nome in links: | |
browser.get(link) | |
process_html = bs(browser.page_source) | |
scrap(process_html) | |
file.close() | |
browser.quit() |
We can make this file beautiful and searchable if this error is corrected: It looks like row 2 should actually have 1 column, instead of 4 in line 1.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dia;Horário;nome;evento | |
Terça, 20 de março de 2018;08h30;Marcos Jorge;Reunião governamental: Encontro Empresarial Brasil-Colômbia com a presença do Presidente da Colômbia, Juan Manoel Santos e o Ministro das Relações Exteriores, Aloysio Nunes | |
Terça, 20 de março de 2018;09h45;Marcos Jorge;Reunião governamental: Encontro Bilateral com a Ministra de Comércio da Colômbia, Maria Lorena Gutierrez | |
Terça, 20 de março de 2018;10h30;Marcos Jorge;Reunião governamental: Cerimônia Oficial de Chegada do Presidente da Colômbia, Juan Manuel Santos | |
Terça, 20 de março de 2018;10h45;Marcos Jorge;Reunião Governamental: Reunião Ampliada Brasil / Colômbia | |
Terça, 20 de março de 2018;11h45;Marcos Jorge;Reunião governamental: Cerimônia de Assinatura de Atos, seguido de declaração à Imprensa, por ocasião da visita do Presidente da Colômbia | |
Terça, 20 de março de 2018;16h00;Marcos Jorge;Reunião Governamental: IV Reunião de Ministros de Indústria, Comércio e Serviços do Mercosul | |
Terça, 20 de março de 2018;08h30;Yana Dumaresq Sobral Alves;Cumprindo agenda de Secretária-Executiva Substituta | |
Terça, 20 de março de 2018;15h00;Yana Dumaresq Sobral Alves;Cumprindo agenda de Secretária Executiva Substituta | |
Terça, 20 de março de 2018;17h00;Yana Dumaresq Sobral Alves;Reunião Governamental: Reunião com o Presidente Michel Temer e o Presidente do Instituto Aço Brasil, Marco Polo | |
Terça, 20 de março de 2018;08h30;Yana Dumaresq Sobral Alves;Reunião Governamental: Encontro Empresarial Brasil-Colômbia com a presença do presidente da Colômbia, Juan Manoel Santos, e o Ministro das Relações Exteriores, Aloysio Nunes | |
Terça, 20 de março de 2018;15h00;Yana Dumaresq Sobral Alves;Reunião Governamental: Reunião com o Chefe de Gabinete Adjunto de Informações do Gabinete Pessoal do Presidente da República, Sérgio Henrique Moreira Sousa | |
Terça, 20 de março de 2018;17h00;Yana Dumaresq Sobral Alves;Cumprindo agenda de Ministra Substituta | |
Terça, 20 de março de 2018;10h00;Douglas Finardi Ferreira;Reunião Governamental: Eduardo Tosta, Especialista em Projetos da Agência Brasileira de Desenvolvimento Industrial – ABDI | |
Terça, 20 de março de 2018;16h00;Douglas Finardi Ferreira;Reunião Governamental: Orlando Leite Ribeiro, diretor do Departamento de Promoção Comercial e Investimentos do Ministério das Relações Exteriores | |
Terça, 20 de março de 2018;Dia tod;Thaíse Dutra;Despachos internos | |
Terça, 20 de março de 2018;Dia tod;Dayvson Franklin de Souza;Despachos internos | |
Terça, 20 de março de 2018;08h30;Abrão Neto;Evento Público: Encontro Empresarial Brasil - Colômbia com a presença do Presidente da Colômbia, Juan Manoel Santos e o Ministro das Relações Exteriores, Aloysio Nunes. | |
Terça, 20 de março de 2018;13h00;Abrão Neto;Deslocamento Brasília / Assunção |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
beautifulsoup4==4.6.0 | |
bs4==0.0.1 | |
certifi==2018.1.18 | |
chardet==3.0.4 | |
decorator==4.2.1 | |
idna==2.6 | |
ipdb==0.11 | |
ipython==6.2.1 | |
ipython-genutils==0.2.0 | |
jedi==0.11.1 | |
parso==0.1.1 | |
pexpect==4.4.0 | |
pickleshare==0.7.4 | |
prompt-toolkit==1.0.15 | |
ptyprocess==0.5.2 | |
Pygments==2.2.0 | |
requests==2.18.4 | |
selenium==3.11.0 | |
simplegeneric==0.8.1 | |
six==1.11.0 | |
traitlets==4.3.2 | |
urllib3==1.22 | |
wcwidth==0.1.7 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment