Atributos 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)
É 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)
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())
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Atributos 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)
É 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)
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())
Obrigado pelo seu feedback!