Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Trabalhando com Elementos Específicos | Decodificando HTML com Beautiful Soup
Web Scraping com Python

bookTrabalhando com Elementos Específicos

Navegar por um documento HTML utilizando atributos do Python recupera apenas a primeira ocorrência de um elemento. Caso seja necessário localizar a primeira instância de um elemento sem conhecer seu caminho completo, utilize o método .find() e passe o nome da tag como uma string (sem os colchetes < >). Por exemplo, localize o primeiro elemento <div> no documento HTML.

123456789101112
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div"))
copy

Também é possível recuperar todas as instâncias de um elemento específico utilizando o método .find_all(). Ele retorna uma lista com todas as correspondências. Por exemplo, encontre todas as tags <p> no documento HTML.

123456789101112
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find_all("p"))
copy

É possível utilizar o método .find_all() para localizar várias tags passando uma lista de nomes de tags. Por exemplo, coletar todos os elementos <div> e <title>.

12345678910111213
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for el in soup.find_all(["div", "title"]): print(el)
copy
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 4.35

bookTrabalhando com Elementos Específicos

Deslize para mostrar o menu

Navegar por um documento HTML utilizando atributos do Python recupera apenas a primeira ocorrência de um elemento. Caso seja necessário localizar a primeira instância de um elemento sem conhecer seu caminho completo, utilize o método .find() e passe o nome da tag como uma string (sem os colchetes < >). Por exemplo, localize o primeiro elemento <div> no documento HTML.

123456789101112
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find("div"))
copy

Também é possível recuperar todas as instâncias de um elemento específico utilizando o método .find_all(). Ele retorna uma lista com todas as correspondências. Por exemplo, encontre todas as tags <p> no documento HTML.

123456789101112
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") print(soup.find_all("p"))
copy

É possível utilizar o método .find_all() para localizar várias tags passando uma lista de nomes de tags. Por exemplo, coletar todos os elementos <div> e <title>.

12345678910111213
# Importing libraries from bs4 import BeautifulSoup from urllib.request import urlopen # Reading web page url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/page.html" page = urlopen(url) html = page.read().decode("utf-8") # Reading HTML with BeautifulSoup soup = BeautifulSoup(html, "html.parser") for el in soup.find_all(["div", "title"]): print(el)
copy
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5
some-alt