Início Profile Projeto
Avatar de

Fabiana de Souza

Web Scraping com Python

  • python

scraping-com-python

Badge em Desenvolvimento

Badge code size

🪧 Vitrine.Dev
Nome Web Scraping com Python
🏷️ Tecnologias python
🚀 URL Notebook no Kaggle
🔥 Desafio Conteúdo do curso Web Scraping com Python

Sobre o curso 📚

Este foi o último curso da formação Python para Data Science, ministrado pelo instrutor Rodrigo Dias, em que aprendi como extrair dados a partir de uma página web, os principais métodos de pesquisa, navegação e acesso no HTML, com o auxílio do pacote Beautiful Soup. Neste curso, retiramos os dados a partir de um site fictício de anúncio de carros, extraindo informações do tipo:

  • valor;
  • marca/modelo;
  • categoria (se é novo ou usado);
  • informações sobre o motor;
  • ano de fabricação e quilometragem;
  • local que o veículo se encontra;
  • e itens adicionais (por exemplo: câmbio automático, central multimídia, freio ABS, etc).

alura motors

Iniciamos com a retirada individual de cada item, entendendo como acessar cada tag, como usar o método find() para buscar uma tag, específica ou alguma que seja ‘sua irmã’, e como obter os atributos das tags. Com essa etapa concluída, automatizamos a coleta de informações para todos os veículos presentes naquela página e criar um dataframe. Após extrair esses dados, ampliamos a coleta de dados para todos os veículos anunciados e recriar o dataframe.

image

Minha prática 👩🏻‍💻

Para a prática deste curso, eu decidi retirar informações de uma lista do Goodreads. A plataforma possui diversas listas de indicação de leitura, por exemplo, há listas por gênero de livro, por ano de lançamento, local em que a história se passa ou característica do(a) personagem principal.

pagina_goodreads

Eu escolhi trabalhar com a lista Best Books Ever, porque logo nas 20 primeiras posições há tanto livros que já li ou que quero ler, quanto obras que não conheço. Além do título e autor do livro, cada item da lista apresenta:

  • a nota média (avg rating);
  • a avaliação/classificação (ratings);
  • uma pontuação (score);
  • e quantas pessoas votaram na obra.

Das quatro informações adicionais, eu decidi não trazer as avaliações, porque ela não está em ordem decrescente ao longo da lista. Por exemplo, o livro To Kill a Mockingbird tem uma classificação maior do que Pride and Prejudice, mas está em uma posição inferior do que a obra de Jane Austen.

lista_best_books_ever

Assim como foi feito no curso, iniciei minha prática retirando informações sobre o primeiro item da lista, entendendo como acessar e extrair as informações previamente determinadas, em seguida automatizar a coleta e ampliar para os livros presentes na página. Finalizando com a expansão de coleta de dados para as 100 páginas do site, resultando em um dataframe com 10.000 linhas.

dataframe

Conclusão 🏁

Fazer esta prática foi uma das que mais me diverti, pois trabalhar com HTML me lembrou de quando comecei a gostar de programação e me livrei da sensação de que programação ‘não era para mim’, e juntar livros com análise de dados foi a ‘cereja do bolo’. Em conjunto com este projeto, também encerro a revisão dos cursos da formação Python para Data Science e darei início a revisão de outra formação.


Muito obrigada por chegar até aqui e até a próxima 🤗

Ferramentas utilizadas 🧰

python BeautifulSoup pandas