Ferramenta automatizada para extração e processamento de dados do Portal do Aluno do CEFET-RJ. Este projeto realiza a raspagem de turmas disponíveis, disciplinas cursadas e turmas matriculadas, consolidando tudo em um formato JSON pronto para visualização.
- Raspagem Completa: Obtém dados de disciplinas aprovadas, turmas matriculadas/solicitadas e oferta de turmas.
- Transformação de Dados: Limpa e organiza os dados em um formato padronizado.
- Gestão de Requisitos: Suporte para pré-requisitos e períodos das disciplinas.
- Geração de ICS: Geração de arquivo ICS para importação em calendários.
- Python 3.12+
- uv (Recomendado para gerenciamento de dependências)
- Clone o repositório:
git clone https://github.com/Grinnfi/cefet-scraper.git
cd cefet_scraper- Crie e configure o arquivo
.env:
cp .env.example .envEdite o arquivo .env com sua matrícula e senha do Portal do Aluno.
Sempre tome cuidado ao usar seus dados de login. As credenciais do
.envsão utilizadas apenas emscrap/login.py, repassando apenas os cookies (temporários) da sessão para as requisições.
- Instale as dependências:
Usando uv (Recomendado):
uv syncUsando pip:
python -m venv .venv
source .venv/bin/activate # No Windows: .venv\Scripts\activate
pip install -r requirements.txtComo não encontrei uma forma consistente de obter os requisitos dos cursos, recomendamos o seguinte método:
- Obtenha o PDF da grade curricular do seu curso.
- Utilize uma LLM (como ChatGPT, Claude ou Gemini) com o seguinte prompt:
"Extraia as disciplinas deste PDF e gere um JSON no seguinte formato:
[{"disciplina": "NOME", "pre_requisitos": ["REQ1"], "periodo": "1"}]. Salve o período de matérias optativas como "0"." - Salve o resultado em
curriculum/requisitos.json.
Basta executar o ponto de entrada principal:
python main.pyIsso irá:
- Logar no portal.
- Salvar os dados brutos em
data/(ignorados pelo Git). - Transformar os dados brutos em
output/matricula_data.json. - Gerar o arquivo
output/agenda.ics.
O arquivo output/matricula_data.json gerado por este scraper é compatível com o projeto de visualização web:
- Repositório: Grinnfi/planejador-de-matricula
- Página Web: Planejador de Matrícula
O arquivo output/agenda.ics gerado por este scraper pode ser importado para o calendários como o Google Agenda, Outlook, etc.
Este projeto não possui vínculo oficial com o CEFET-RJ.