Este repositório contém o código responsável pela extração e organização dos dados de convocações referentes ao concurso nacional realizado pela EBSERH em 2023. O processo inclui a coleta de informações a partir dos editais de convocação disponibilizados no site da EBSERH, a inserção desses dados em um banco de dados SQLite, e a exportação para planilhas Excel e Google Sheets.
Uma planilha com os dados processados está disponível publicamente no seguinte link: EBSERH 2023 - Editais de convocação
O script cria e conecta-se a um banco de dados SQLite chamado editais.sqlite
.
O código acessa a página oficial da EBSERH, identifica os links relacionados às convocações de cada hospital e percorre todas as páginas disponíveis. Em cada página, são localizados os links dos PDFs contendo os editais de convocação. Serão processados apenas os editais que ainda não existirem em editais.sqlite
.
Após acessar os PDFs dos editais de convocação, o conteúdo é convertido em texto e segmentado em linhas para permitir a extração das informações. O script varre cada linha do PDF e extrai as seguintes informações:
- Microrregião: Determinada com base no hospital de convocação.
- Hospital: Nome do hospital responsável pela convocação.
- Número do Edital: Número identificador do edital.
- Tipo de Edital: Categoria associada ao edital, como "Lista microrregional" ou "Convocação temporária". Extraído do nome do edital.
- Edital: O nome do arquivo do edital.
- Data: A data em que o edital foi publicado.
- Índice: Índice do cargo na convocação (ex.:
1.1
,1.2
, etc.). - Cargo: O cargo para o qual o convocado foi selecionado.
- Obs. Cargo: Informações adicionais sobre o cargo, caso estejam presentes.
- Posição: Colocação do candidato convocado conforme ordem de classificação.
- Nome: Nome do convocado.
- Obs. Colocado 1 e 2: Observações adicionais sobre a colocação do convocado (ex.: fim da fila, desistência, etc.).
As informações são extraídas utilizando padrões de texto e expressões regulares esperadas na formatação do edital.
Após a extração e organização, o script verifica se os editais já foram processados anteriormente. Caso contrário, ele insere os novos dados no banco de dados SQLite, evitando a duplicação de registros. A conexão com o banco de dados é, então, fechada.
No final do script, temos a opção de exportação dos dados para uma planilha Excel ou uma planilha do Google Sheets. Caso queira utilizar sua própria planilha do Google, você pode configurar o ID da Google Sheet no script.
-
Atualizar a planilha Excel: O script detecta novos dados e os adiciona à planilha
Editais.xlsx
.atualizar_planilha(sheets = FALSE) # Apenas exporta para Excel
-
Atualizar Google Sheets: Se você quiser exportar os dados para sua própria Google Sheet, substitua o
google_sheet_id
no script conforme o seguinte comando:atualizar_planilha(excel = FALSE, google_sheet_id = "SUA_GOOGLE_SHEET_ID")
Pacotes R utilizados:
install.packages(c("data.table", "DBI", "dplyr", "googlesheets4", "openxlsx",
"pdftools", "RSQLite", "rvest", "stringr", "tidytable"))
Este projeto está licenciado sob a Licença MIT.