Como Fazer Web Scraping Simples em Python com BeautifulSoup

 


Como Fazer Web Scraping Simples em Python com BeautifulSoup

Aprenda a extrair informações essenciais de páginas HTML, como títulos e preços, utilizando Python. Esta solução resolve a necessidade de coletar dados públicos da web de forma automatizada e em poucas linhas de código. O script utiliza as bibliotecas requests para baixar a página e BeautifulSoup para navegar e extrair o conteúdo desejado.

Python
import requests
from bs4 import BeautifulSoup

# 1. Faz a requisição HTTP para obter o HTML da página
url = "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"
response = requests.get(url)

# 2. Faz o parse do HTML recebido
soup = BeautifulSoup(response.content, "html.parser")

# 3. Extrai o título e o preço usando seletores CSS ou tags HTML
titulo = soup.find("h1").text.strip()
preco = soup.select_one("p.price_color").text.strip()

# Exemplo de uso prático
print(f"Produto: {titulo} | Preço: {preco}")

Pontos-chave

  • requests.get(url): Envia uma requisição HTTP GET para o servidor. Em ambientes de produção, é recomendado adicionar o parâmetro headers={'User-Agent': '...'} para evitar bloqueios por parte do site alvo.

  • BeautifulSoup(..., 'html.parser'): Converte a resposta em texto/bytes em uma árvore de objetos Python manipuláveis; o html.parser é o parser nativo do Python.

  • find() vs select_one(): Use find('tag') para buscar pela primeira tag HTML correspondente ou select_one('.classe') para utilizar seletores CSS completos.

  • Tratamento de texto (.strip()): O método .text extrai o conteúdo textual do elemento, enquanto o .strip() remove quebras de linha e espaços em branco desnecessários nas pontas.

  • Pegadinha comum: Páginas que carregam dados dinamicamente via JavaScript (Single Page Applications) não exibirão esses dados apenas com o requests. Nesses casos, ferramentas como Selenium ou Playwright são necessárias.


Comentários

Postagens mais visitadas deste blog

Gerando Relatórios em PDF com Python (ReportLab e FPDF)

Python para Computação Quântica: Introdução com Qiskit

C# e Banco de Dados: Como Conectar e Realizar Operações com SQL Server