Article image
Paulo Roberto
Paulo Roberto01/09/2023 09:06
Compartilhe

Extração e Categorização de Dados com Python, Beautiful Soup e Excel

  • #Python
  • #Data Warehouse

No vasto mar de informações da internet, há uma riqueza de dados esperando para ser descoberta e transformada em conhecimento valioso. Imagine a capacidade de extrair e categorizar dados de anúncios da OLX, transformando-os em insights úteis. Isso é possível através da combinação de Python, Beautiful Soup e Excel.

Entendendo a Beautiful Soup

Antes de mergulharmos nos detalhes, vamos esclarecer alguns conceitos. Beautiful Soup é uma biblioteca Python que atua como um detetive virtual, explorando páginas da web em busca de informações valiosas, como títulos, parágrafos e listas.

Passo 1: Preparando o Terreno

Antes de começar, certifique-se de ter o Python instalado. A Beautiful Soup frequentemente é usada junto com a biblioteca requests, que ajuda a buscar páginas da web. Instale-as usando o pip:

pip install beautifulsoup4 requests openpyxl

Além disso, vamos utilizar a biblioteca openpyxl para interagir com planilhas Excel.

Passo 2: Explorando a OLX

Vamos começar. Importe as bibliotecas necessárias:

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook

Em seguida, use o requests para buscar o código HTML da página de anúncios da OLX:

url = 'https://www.olx.com.br/estado-sp?q='
response = requests.get(url)

Passo 3: Analisando com Beautiful Soup

Com o código HTML em mãos, crie um objeto Beautiful Soup para analisá-lo e torná-lo navegável:

soup = BeautifulSoup(response.text, 'html.parser')

Passo 4: Extraindo e Categorizando Dados

Agora, extraia e categorize os detalhes dos anúncios. Vamos supor que você deseja pegar o nome do anúncio, o preço e categorizar os anúncios por tipo, como "Eletrônicos", "Veículos", "Móveis", etc.:

ad_details = soup.find_all('li', class_='sc-1fcmfeb-2 hXkHqJ')

# Criando uma planilha Excel
wb = Workbook()
ws = wb.active
ws.append(['Anúncio', 'Preço', 'Categoria'])

# Extraindo e categorizando os dados
for ad in ad_details:
  title = ad.find('span', class_='sc-7l84qu-0 dEwTbQ').text.strip()
  price = ad.find('span', class_='sc-7l84qu-2 bLOqvD').text.strip()

  if 'celular' in title.lower():
      category = 'Eletrônicos'
  elif 'carro' in title.lower() or 'moto' in title.lower():
      category = 'Veículos'
  elif 'sofá' in title.lower() or 'mesa' in title.lower():
      category = 'Móveis'
  else:
      category = 'Outros'

  ws.append([title, price, category])

# Salvando a planilha
wb.save('dados_olx.xlsx')

Conclusão: Dados Organizados na Ponta dos Dedos

Aqui você explorou com sucesso a extração, categorização e organização de dados da OLX usando Python, Beautiful Soup e Excel.

Com essa habilidade, você pode não apenas extrair informações, mas também criar conjuntos de dados organizados e categorizados, prontos para análise.

Esse é um código base, que pode precisar de ajustes e parâmetros adicionais a depender do site alvo, então use seus conhecimentos e criatividade ;)

Agora, você tem as ferramentas para navegar pelo oceano de dados da OLX e da web!

Compartilhe
Comentários (1)
Thiago Henrique
Thiago Henrique - 06/09/2023 09:52

Sensacional, otima explicação!!