O que é a URI Online Judge?
A URI Online Judge é um projeto que está sendo desenvolvido pelo Departamento de Ciência da Computação da URI. O principal objetivo é promover a prática de programação e o compartilhamento de conhecimento.
O site contém mais de 1.000 problemas divididos em 8 categorias, todos eles em inglês ou português. Tais categorias auxiliam o aluno a focar nos temas que lhe convêm. Além disso ainda possui suporte para 11 linguagens de programação.
Ao resolver os problemas você acumula pontos e entra no rank de alunos! Caso esteja vinculado a uma instituição de ensino, você pode adicioná-la no seu perfil, fazendo com que a mesma suba de rank com você!
Será realizado uma coleta de dados, tendo como base os ranks contidos no site URI.
-
Coletaremos o rank de universidades, o qual possui os seguintes atributos:
- Rank, Acrônimo_Instituição, Instituição, País, Exercícios_resolvidos e Número_estudantes.
-
Coletaremos o rank de alunos, o qual possui os seguintes atributos:
- Rank, Nome_aluno, Acrônimo_Instituição, url_perfil, Pontos e Status.
-
Coletaremos o rank de países, o qual possui os seguintes atributos:
- Rank, País, Sigla, Exercícios_resolvidos e Número_estudantes.
-
Coletaremos o Data_cadastro, o qual possui os seguintes atributos:
- url_perfil, Data_cadastro.
- Limpar dados.
- Criar um banco de dados relacional.
- Por fim, será realizada a análise e projeção dos dados.
- Jupyter Notebook
- Scrapy
- Numpy
- Pandas
- GeoPandas
- Matplotlib
- Folium
- Nominatim
*Os passos com 'ou' representam possíveis soluções para problemas que possam vir a ocorrer, caso a primeira opção não funcione.
- Atualize o sistema.
sudo apt-get update
- Atualize o pip.
pip install --upgrade pip
# ou
pip3 install --upgrade pip
- Instale as dependências:
pip install -r requirements.txt
# ou
pip3 install -r requirements.txt
- Dentro da pasta 'scrapy_uri', abra o terminal e execute o seguinte comando:
scrapy runspider main_modulo.py
-
Isso mostrará como tudo esta rodando.
-
Após isso, digite o comando:
scrapy runspider main_modulo.py -o nome_novo_arquivo.csv
- Isso criara um arquivo .csv, o qual você pode abrir no Excel para organizar e visualizar os dados (lembrando que o scraping é feito de forma não sequencial, então os registros estarão desordenados entre si, não seguindo a sequencia do rank).
- OBS: O main_alunos.py retorna um arquivo csv que serve de parâmetro para busca de data_cadastro.py, por esse motivo, execute primeiro o main_alunos.py.
- Tabela ‘Universidades’ completa .csv – atualizado em Oct/06/2020
- Tabela ‘Países’ completa .csv – atualizado em Oct/06/2020
- Tabela ‘Alunos’ completa .csv – atualizado em Oct/06/2020
- Tabela ‘Data_cadastro’ completa .csv – atualizado em Oct/06/2020