Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Atributos e Conteúdos do Elemento | Trabalhando com Atributos de Elementos no Beautiful Soup
Web Scraping com Python

bookAtributos e Conteúdos do Elemento

Os métodos discutidos nas seções anteriores retornam partes específicas do código HTML. O BeautifulSoup permite recuperar os atributos e conteúdos de elementos específicos. Para acessar os atributos de um objeto, utilize o atributo .attrs. Por exemplo, é possível recuperar os atributos do primeiro elemento <div>.

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").attrs)
copy

É importante observar que o resultado do uso do atributo .attrs é um dicionário em que as chaves são os nomes dos atributos e os valores são seus respectivos valores. Caso seja necessário obter o conteúdo armazenado dentro de uma tag, utilize o atributo .contents. Por exemplo, vamos examinar o conteúdo do primeiro elemento <div>.

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").contents)
copy

Como observado acima, todos os caracteres de nova linha foram incluídos em uma lista de elementos, o que pode não ser a representação mais desejável do conteúdo. Para extrair apenas o texto dentro de um elemento específico, utilize o método .get_text(). Compare os resultados do exemplo abaixo com o obtido anteriormente.

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").get_text())
copy
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Suggested prompts:

What is the difference between .attrs, .contents, and .get_text() in BeautifulSoup?

Can you explain how to use .attrs to get specific attribute values?

How can I extract text from other HTML elements using BeautifulSoup?

Awesome!

Completion rate improved to 4.35

bookAtributos e Conteúdos do Elemento

Deslize para mostrar o menu

Os métodos discutidos nas seções anteriores retornam partes específicas do código HTML. O BeautifulSoup permite recuperar os atributos e conteúdos de elementos específicos. Para acessar os atributos de um objeto, utilize o atributo .attrs. Por exemplo, é possível recuperar os atributos do primeiro elemento <div>.

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").attrs)
copy

É importante observar que o resultado do uso do atributo .attrs é um dicionário em que as chaves são os nomes dos atributos e os valores são seus respectivos valores. Caso seja necessário obter o conteúdo armazenado dentro de uma tag, utilize o atributo .contents. Por exemplo, vamos examinar o conteúdo do primeiro elemento <div>.

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").contents)
copy

Como observado acima, todos os caracteres de nova linha foram incluídos em uma lista de elementos, o que pode não ser a representação mais desejável do conteúdo. Para extrair apenas o texto dentro de um elemento específico, utilize o método .get_text(). Compare os resultados do exemplo abaixo com o obtido anteriormente.

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").get_text())
copy
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
some-alt