Web Scraping com BeautifulSoup: O Guia Inicial

Juliano Faccioni
4 minutos de leitura

Conteúdos do tutorial

O mundo da programação está repleto de ferramentas que facilitam a vida dos desenvolvedores, e uma delas é o BeautifulSoup, uma das principais bibliotecas para quem trabalha com Web Scraping em Python. Neste artigo, vamos explorar o que é o BeautifulSoup, para que serve e como você pode utilizá-lo para extrair dados de páginas web de maneira eficiente.

O que é BeautifulSoup?

BeautifulSoup é uma biblioteca do Python capaz de extrair dados de páginas web, analisando o código HTML e XML dos sites. Ela é projetada para transformar um documento HTML complexo em uma árvore de objetos Python, tornando possível acessar e manipular diferentes elementos da página de forma simples e intuitiva.

Para que serve o BeautifulSoup?

O BeautifulSoup serve principalmente para realizar Web Scraping, que é o processo de coleta de dados estruturados de páginas da internet. Com ele, é possível:

  • Navegar pelo código HTML de uma página;
  • Acessar e extrair dados de interesse, como textos, links e outros elementos;
  • Manipular e transformar os dados extraídos em formatos úteis, como CSV ou JSON.

Como utilizar o BeautifulSoup?

Para começar a utilizar o BeautifulSoup, você precisa ter o Python instalado em sua máquina, além de instalar a biblioteca através do gerenciador de pacotes pip. Use o comando abaixo no terminal para instalar o BeautifulSoup (e a biblioteca requests, que usaremos para fazer as requisições para os sites):

Instalação do BeautifulSoup

pip install requests beautifulsoup4

Após a instalação, você está pronto para começar a utilizar a biblioteca em seus projetos de Web Scraping.

Exemplo de Uso do BeautifulSoup

Vamos a um exemplo prático de como utilizar o BeautifulSoup para extrair títulos de notícias de um site.

Importando as Bibliotecas Necessárias

import requests
from bs4 import BeautifulSoup

Realizando a Requisição para a Página Web

url = 'https://g1.globo.com/'
response = requests.get(url)
html = response.text

Criando o Objeto BeautifulSoup

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

Procurando por Elementos no HTML

titulos_noticias = soup.find_all('a', {'class': 'feed-post-link'})

Extraindo e Imprimindo os Títulos

for titulo in titulos_noticias:
    print(titulo.text)

Neste exemplo, utilizamos o método find_all para buscar todos os elementos a com a classe feed-post-link. Em seguida, iteramos sobre o resultado para imprimir os textos dos títulos das notícias.

Código completo

import requests
from bs4 import BeautifulSoup

url = 'https://g1.globo.com/'
response = requests.get(url)
html = response.text

soup = BeautifulSoup(html, 'html.parser')
titulos_noticias = soup.find_all('a', {'class': 'feed-post-link'})
for titulo in titulos_noticias:
    print(titulo.text)
Testar

Conclusão

O BeautifulSoup é uma ferramenta essencial para quem deseja realizar Web Scraping com Python. Com sua capacidade de navegar e manipular o HTML de páginas web, ele abre um leque de possibilidades para a coleta e análise de dados na internet. Agora que você conhece o básico, está pronto para começar a explorar mais a fundo essa poderosa biblioteca.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse:
Conteúdos do tutorial