0% acharam este documento útil (0 voto)
13 visualizações

WebScraping Com Python e BeautifulSoup

Este artigo ensina sobre web scraping usando Python e a biblioteca BeautifulSoup. Ele explica o que é web scraping, como funcionam crawlers e parsers, e como usar os principais métodos de BeautifulSoup para extrair dados de páginas web, como em um exemplo de coleta das últimas notícias do site Python.org.

Enviado por

Luiz Xavier
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações

WebScraping Com Python e BeautifulSoup

Este artigo ensina sobre web scraping usando Python e a biblioteca BeautifulSoup. Ele explica o que é web scraping, como funcionam crawlers e parsers, e como usar os principais métodos de BeautifulSoup para extrair dados de páginas web, como em um exemplo de coleta das últimas notícias do site Python.org.

Enviado por

Luiz Xavier
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 6

WebScraping com Python e BeautifulSoup

Vinícius R

Salve salve Pythonista

Hoje, vamos navegar pelo maravilhoso mundo do Web Scraping utilizando a popular biblioteca Python, o
BeautifulSoup.

“Mas o que é Web Scraping?” você deve estar se perguntando. Não se preocupe, a Python Academy está
aqui para explicar!

Web Scraping é uma importante ferramenta para coletar dados da web.

O mundo está girando em torno de uma quantidade inacreditável de dados e o Web Scraping é uma bússola,
nos ajudando a navegar nesse oceano.

Ao longo deste artigo, vamos explorar tudo sobre Web Scraping com Python e BeautifulSoup.

Vamos visitar temas importantes, como Crawler, Parser, o uso de BeautifulSoup, seus principais métodos e
finalmente, vamos colocar a mão na massa com um mini projeto!

Vá Direto ao Assunto…

Crawler e Parser

BeautifulSoup: Seu Amigo na Coleta de Dados

Principais métodos de utilização do BeautifulSoup

Bot de Web Scraping com BeautifulSoup

Primeiro, vamos começar do início. Pelos conceitos de Crawler e Parser!

Crawler e Parser

Um Crawler, também conhecido como Spider, é um tipo de script que realiza a varredura na web de
maneira metódica e automatizada.

Ele serve para coletar recursos específicos, como, por exemplo, links ou dados específicos de páginas da
web.

Suponha que a Página A contenha um link para a Página B e que a Página B possua um link para a Página C.

Através da leitura do código HTML, podemos - de forma automatizada - traçar esse “caminho”, saindo da
Página A à Página C, passando pela Página B.
Para isso, basta analisar o código HTML da Página A, em busca de tags <a>, como por exemplo:

1 <a href="https://paginab.com.br">Página B</a>

E em seguida, realizar a mesma operação na Página B, em busca de outra tag <a> que faz referência à
Página C, por exemplo:

1 <a href="https://paginac.com.br">Página C</a>

Assim como uma aranha “navega” em sua rede, um processo Spider (ou Crawler) navega na “Net” (que
significa Rede, em Inglês)!

Já o Parser é uma ferramenta que nos ajuda a extrair dados de um documento. No mundo do Web Scraping,
ele é comumente usado para extrair dados de páginas HTML e XML.

No processo de Parsing, algum programa irá “digerir” os dados “esquisitos” de uma página HTML para uma
representação mais simples de ser compreendida e processada, possibilitando a busca e extração de dados!

Esse dois processos (Crawler e Parser) são muito importantes no contexto do Web Scraping.

BeautifulSoup: Seu Amigo na Coleta de Dados

O BeautifulSoup é uma biblioteca Python que facilita a raspagem de informações das páginas da web.

Ele possui um poderoso parser que proporciona uma maneira Pythonica de navegar, pesquisar e modificar
os dados de um Website.

Para utilizá-lo, utilize o pip e instale o BeautifulSoup em um ambiente virtual (se ainda não sabe o que são
ambientes virtuais, clique aqui e aprenda a utilizar o Virtualenv):

1 pip install beautifulsoup4

Uma coisa importante a notar aqui é que o BeautifulSoup não baixa as páginas da web para nós. Por isso ele
geralmente é utilizado com a biblioteca requests para buscar o código HTML de uma página web
(instale-o no mesmo ambiente virtual com pip install requests).

Sabendo disso, vamos em frente.

Mas antes… Está curtindo esse conteúdo?

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.

Você fez sua assinatura com sucesso.


Assine as PyDicas e receba 30 dias do melhor conteúdo Python na sua Caixa de Entrada: direto e sem
enrolação!

Principais métodos de utilização do BeautifulSoup

Antes de começarmos a usar o BeautifulSoup, devemos dar uma olhada em seus principais métodos:

find() e find_all(): Esses dois métodos são usados frequentemente para encontrar tags. O método
find_all() busca todas as instâncias de uma tag e find() busca apenas a primeira instância de uma
tag.
get(): Este método é usado para acessar os atributos de uma tag.

text: Esta propriedade é usada para obter o texto de dentro de uma tag.

Agora que conhecemos o básico, vamos utilizar o BeautifulSoup para um exemplo simples de WebScraping:

1 from bs4 import BeautifulSoup


2 import requests
3
4 URL = 'https://www.python.org/'
5 page = requests.get(URL)
6
7 soup = BeautifulSoup(page.content, 'html.parser')
8
9 header = soup.find('h1')
10 print(header)

Se você rodar este script, ele retornará o que há dentro da primeira tag ‘<h1>’ que encontrar na página
principal do site python.org, que é o seguinte (no momento em que escrevo este artigo):

1 <h1 class="site-headline">
2 <a href="/"><img alt="python™" class="python-logo" src="/static/img/python-logo.png"/></
3 a>
</h1>

Finalmente, estamos prontos para começar a trabalhar em nosso mini projeto!

Vamos criar um simples bot de raspagem para extrair as últimas notícias do site Python.org.

O primeiro passo para qualquer projeto de Web Scraping é analisar o código HTML da página de onde se
quer extrair os dados.

No nosso caso, podemos acessar o website alvo, que no caso é o www.python.org/blogs e verificar o
código HTML.

Com a ajuda das Ferramentas de Desenvolvedor do Navegador (Chrome ou Firefox, por exemplo), podemos
passar o mouse em cima da região onde queremos extrair os dados e analisar a estrutura do código HTML:
Dessa forma, sabemos que o que queremos está: dentro de uma lista <ul> com a classe CSS list-
recent-posts, que contém itens <li>, que contém sub-títulos <h3> e que contém, por fim, links com a
tag <a>.

Com isso podemos buscar os dados que queremos da seguinte forma:

1 from bs4 import BeautifulSoup


2 import requests
3
4 URL = 'https://www.python.org/blogs/'
5 page = requests.get(URL)
6
7 soup = BeautifulSoup(page.content, 'html.parser')
8
9 # Localizamos a lista <ul> das últimas notícias
10 news_ul = soup.find('ul', class_='list-recent-posts')
11
12 # Encontramos todas as notícias nessa <ul>
13 latest_news = news_ul.find_all('h3')
14
15 # Imprimimos cada notícia, buscando o atributo href de cada link
16 for news in latest_news:
17 link = news.find('a')
18 print(f"Artigo: {news.text}\n Link: {link.attrs['href']}")

Este script irá rastrear a página de blogs do site Python.org e imprimirá as últimas notícias em um formato
de texto limpo:

1 Artigo: Python 3.10.14, 3.9.19, and 3.8.19 is now available


2 Link: https://pythoninsider.blogspot.com/2024/03/python-31014-3919-and-3819-is-
3 now.html
4 Artigo: Python 3.13.0 alpha 5 is now available
5 Link: https://pythoninsider.blogspot.com/2024/03/python-3130-alpha-5-is-now-
6 available.html
7 Artigo: White House recommends use of memory-safe languages like Python
8 Link: https://pyfound.blogspot.com/2024/02/white-house-recommends-.html
9 Artigo: Python 3.13.0 alpha 4 is now available
10 Link: https://pythoninsider.blogspot.com/2024/02/python-3130-alpha-4-is-now-
available.html
Artigo: Software Bill-of-Materials documents are now available for CPython
Link: https://pyfound.blogspot.com/2024/02/software-bill-of-materials-now-available-
for-cpython.html

Muito maneiro não é mesmo?!

Agora, se quiser aprender mais ainda sobre Web Scraping, eu posso te ajudar!

Em nosso primeiro Projeto da Jornada Python você vai aprender a buscar dados financeiros na internet para
criar uma estratégia de investimentos para você!

Além disso, você vai aprender Python do básico ao avançado através de projetos completos e muito
exercício.
E não para por aí: você ainda vai aprender a desenvolver aplicações Web utilizando o famoso framework
Django!

Tudo isso com suporte às suas dúvidas, Comunidade Exclusiva de Alunos, certificado de conclusão, e-books
exclusivos e muito mais!

Então não perca tempo, conheça a Jornada Python clicando no botão abaixo e sinta-se confiante na
Programação Python!

Te vejo na Jornada, caro Pythonista!

Conclusão

Neste artigo você aprendeu sobre web scraping com Python e BeautifulSoup. Discutimos sobre Crawler e
Parser, conhecemos melhor a biblioteca BeautifulSoup e até construímos um simples bot de raspagem.

A combinação de Python e BeautifulSoup torna o web scraping acessível, até mesmo para programadores
menos experientes.

Com um pouco de prática, você pode começar a extrair uma grande quantidade de dados da web, que podem
ser usados para análise de dados, aprendizado de máquina e uma variedade de outras aplicações.

Até a próxima vez, continue programando e se divertindo!

Você também pode gostar