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!