Trabalho realizado para a disciplina de Coleta, Preparação e Análise de Dados - 4° Semestre da PUCRS pelo curso de Ciência de Dados e Inteligência Artificial
Autores: João Pedro de Moura Medeiros e Andressa Moreira
O trabalho foi realizado em cima do enunciado disponibilizado pelo professor Lucas da disciplina de CPA. Em vista, na primeira tarefa deve-se fazer determinada raspagem de dados em um ambiente controlado, sendo um freamwork executável como ambiente, tendo páginas com vários países e seus dados. Já na segunda questão é indicado fazer a raspagem de dados em um ambiente real, sendo o ambiente site do IMDB, coletando dados dos 250 melhores filmes.
As tarefas e arquivos estão em formato zip fixados no repositório.
Como dito, na tarefa 1 foi necessário fazer scraping de um ambiente controlado e pegar os dados de todos os países contidos.
Obs: é necessário ter o python 2.7 na máquina
- Abra o prompt de comando.
- Entre na pasta aplicacao_testes_scraping.
- Entre no ambiente conda pelo comando >conda activate webscrap.
- Entre na pasta web2py27.
- Execute o comando >python web2py.py, irá abrir uma janela.
- Nessa janela insira uma senha que se lembre, pode ser simples como 123.
- Clique na aba meus sites e insira a senha da etapa 6.
- Clicando em meus places, abrirá uma aba com certos países, seguindo de outros países ao clicar em next.
- A partir dai basta apenas coletar os dados.
- As bibliotecas BeautifulSoup, request, time, rs, pandas, numpy e hashlib foram utilizadas no programa.
- O arquivo tarefa1.ipynb faz um crawler que navega pelas páginas de países.
- O arquivo tarefa1 baixa os HTMLs, salvando-os.
- O arquivo tarefa1 faz scraping dos HTMLs baixados e os dados retirados são salvos no csv chamado tarefa1.csv
- O arquivo tarefa1 salva uma coluna extra no csv contendo o timestamp do momento no qual os dados foram obtidos.
- O arquivo tarefa1 faz um crawler que monitora as páginas de países através de um While True procurando por atualizações. Atualizando o csv tarefa1.csv quando alguma mudança ocorre.
- Para executar o programa você deve utilizar o comando "Run All" do jupyter notebook.
- Na última célula do programa existe um While True, esse laço fica eternamente verificando se existem alterações na página, para parar o programa você deve interromper essa célula.
A tarefa 2 foi necessário fazer scraping de um ambiente real, pegando determinados dados pedidos no enunciado dos 250 melhores filmes classificados pela IMDB.
- Deve-se baixar o chromedriver em seu computador para rodar o ScrapIMBD.
- Verifique se o seu navegador é da mesma versão que o executável chromedriver, caso não baixe a versão mais atualizada em https://chromedriver.chromium.org/downloads conforme a versão atual de seu navegador.
- As bibliotecas selenium, request, shutil, os, json e re foram utilizadas no programa.
- O arquivo ScrapIMBD.ipynb coleta os dados dos 250 melhores filmes da página da IMBD.
- O arquvio ScrapIMBD.ipynb baixa todos os posters na pasta img_posters.
- O arquivo ScrapIMBD.ipynb escreve para um arquivo json todos os dados coletados.
- As categorias dos dados coletados são respectivamente Título, Ano de lançamento url do poster, imagem do poster, nota imdb, lista de gêneros e lista de diretores.