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 pandas
Exemplo 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.txt
do 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-Agent
no 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. 🚀