Web Scraping com Python e BeautifulSoup: extraindo dados da web
Olá comunidade! 🩷
Vamos ver hoje um assunto bem legal! Você já se deparou com um site cheio de informações úteis, mas sem opção de download ou API?
É aí que entra o web scraping - uma técnica para extrair dados automaticamente de páginas da web.
No post desta semana, vamos aprender como usar Python com a biblioteca BeautifulSoup, além de entender as boas práticas e os cuidados legais ao realizar scraping.
O que é Web Scraping?
Web scraping é o processo de coletar informações de sites automaticamente, simulando a navegação humana. Com ele, é possível capturar listas de produtos, notícias, cotações, dados públicos e muito mais.
Siga nossa página no Linkedin e no Instagram e ajude a divulgar nosso conteúdo🥰
Ferramentas que vamos usar
Python 3.x
Requests – para fazer requisições HTTP
BeautifulSoup – para interpretar o HTML
pandas (opcional) – para organizar os dados em tabela
Instale as bibliotecas com:
pip install requests beautifulsoup4 pandasExemplo prático: coletando títulos de notícias
Vamos extrair os títulos da capa de notícias da página: https://g1.globo.com/
import requests
from bs4 import BeautifulSoup
import pandas as pd
# Passo 1: Requisição HTTP
url = 'https://g1.globo.com/'
response = requests.get(url)
# Passo 2: Análise do conteúdo HTML
soup = BeautifulSoup(response.text, 'html.parser')
# Passo 3: Encontrar os títulos das notícias
titulos = soup.find_all('a', class_='feed-post-link')
# Passo 4: Armazenar os títulos
lista_titulos = [titulo.get_text(strip=True) for titulo in titulos]
# Exibir os dados
df = pd.DataFrame(lista_titulos, columns=['Título da Notícia'])
print(df.head())
Com poucas linhas de código, já conseguimos extrair dados estruturados da web!
O resultado:
Boas práticas no web scraping
Leia o
robots.txtdo site
Exemplo:https://g1.globo.com/robots.txt. Ele define o que pode ou não ser acessado por robôs.Evite sobrecarregar o servidor
Usetime.sleep()entre requisições, especialmente em laços de scraping.Identifique seu bot
Envie umUser-Agentno cabeçalho das requisições para indicar que é um script automatizado.Respeite direitos autorais e propriedade intelectual
Use os dados para fins educacionais ou pessoais, salvo exceções permitidas.
E os aspectos legais?
Embora web scraping seja tecnicamente simples, nem sempre é legal. Leis de proteção de dados, como a LGPD no Brasil e o GDPR na Europa, podem restringir o uso de informações pessoais. Além disso:
Alguns sites proíbem scraping em seus Termos de Uso.
Usar dados extraídos para fins comerciais pode gerar processos por violação de propriedade.
Sempre consulte a política do site e, em caso de dúvida, prefira fontes com API pública.
Conclusão
Web scraping é uma ferramenta poderosa para quem trabalha com dados e desenvolvimento.
Com BeautifulSoup e Python, é possível automatizar a coleta de informações de maneira rápida e eficiente.
Mas lembre-se: com grandes poderes vêm grandes responsabilidades. Use essas técnicas com consciência e respeito aos limites legais.
E você?
Já tentou fazer scraping de algum site? Teve dificuldades? Compartilha nos comentários! Vamos crescer juntas na programação. 🚀





Muito obrigado por compartilhar este artigo, aqui no Substack acho ele muito bom! Mas há falta de conteúdo para área de dados, em especifico em Engenharia de Dados que é um cargo que eu almejo buscar.