Trabajando con Elementos Específicos
Navegar por un documento HTML utilizando atributos de Python recuperará solo la primera aparición de un elemento en particular. Pero, ¿qué sucede si le interesa la primera instancia de un elemento y no conoce su ruta completa? En tales casos, puede utilizar el método .find()
, pasando la etiqueta (sin los corchetes < >
) como una cadena. Por ejemplo, localicemos el primer elemento <div>
en el 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"))
Además, puede recuperar todas las instancias de un elemento específico utilizando el método .find_all()
. Esto generará una lista de instancias. Por ejemplo, localicemos todas las etiquetas <p>
en el 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"))
También es posible utilizar el método .find_all()
para buscar no solo una, sino varias etiquetas proporcionando una lista de etiquetas. Por ejemplo, recopilación de todos los elementos <div>
y <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)
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain the difference between .find() and .find_all() in BeautifulSoup?
How can I extract the text content from the elements found?
What other methods can I use to search for elements in BeautifulSoup?
Awesome!
Completion rate improved to 4.35
Trabajando con Elementos Específicos
Desliza para mostrar el menú
Navegar por un documento HTML utilizando atributos de Python recuperará solo la primera aparición de un elemento en particular. Pero, ¿qué sucede si le interesa la primera instancia de un elemento y no conoce su ruta completa? En tales casos, puede utilizar el método .find()
, pasando la etiqueta (sin los corchetes < >
) como una cadena. Por ejemplo, localicemos el primer elemento <div>
en el 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"))
Además, puede recuperar todas las instancias de un elemento específico utilizando el método .find_all()
. Esto generará una lista de instancias. Por ejemplo, localicemos todas las etiquetas <p>
en el 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"))
También es posible utilizar el método .find_all()
para buscar no solo una, sino varias etiquetas proporcionando una lista de etiquetas. Por ejemplo, recopilación de todos los elementos <div>
y <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)
¡Gracias por tus comentarios!