Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Búsqueda Avanzada | Trabajando con Atributos de Elementos en Beautiful Soup
Web Scraping con Python

bookBúsqueda Avanzada

Algunas etiquetas HTML requieren atributos obligatorios, como la etiqueta de anclaje que necesita el atributo href o la etiqueta <img> que requiere el atributo src. Para acceder a un atributo específico, utiliza el método .get() después de .attrs. Por ejemplo, para obtener todos los atributos src de todos los elementos <img>.

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 img in soup.find_all("img"): print(img.attrs.get("src"))
copy

También puedes encontrar el atributo id, que se utiliza comúnmente para distinguir elementos con la misma etiqueta. Para buscar elementos con valores de atributos específicos, pásalos como un diccionario en el formato attr_name: attr_value al método .find_all(), justo después de especificar la etiqueta. Por ejemplo, para encontrar todos los elementos <div> con el atributo class establecido en "box" o el elemento <p> con el valor del atributo "id" igual a "id2".

12345678910111213141516
# 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 div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
copy

El método .find() se utiliza en lugar de .find_all() para obtener un elemento por su id, ya que un id es un identificador único y no puede aparecer más de una vez. Para confirmar que solo se recuperaron los elementos <div> específicos, verifique las clases asignadas a los elementos <div>.

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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 4.35

bookBúsqueda Avanzada

Desliza para mostrar el menú

Algunas etiquetas HTML requieren atributos obligatorios, como la etiqueta de anclaje que necesita el atributo href o la etiqueta <img> que requiere el atributo src. Para acceder a un atributo específico, utiliza el método .get() después de .attrs. Por ejemplo, para obtener todos los atributos src de todos los elementos <img>.

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 img in soup.find_all("img"): print(img.attrs.get("src"))
copy

También puedes encontrar el atributo id, que se utiliza comúnmente para distinguir elementos con la misma etiqueta. Para buscar elementos con valores de atributos específicos, pásalos como un diccionario en el formato attr_name: attr_value al método .find_all(), justo después de especificar la etiqueta. Por ejemplo, para encontrar todos los elementos <div> con el atributo class establecido en "box" o el elemento <p> con el valor del atributo "id" igual a "id2".

12345678910111213141516
# 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 div in soup.find_all("div", {"class": "box"}): print(div) # Filtering by id attribute value print(soup.find("p", {"id": "id2"}))
copy

El método .find() se utiliza en lugar de .find_all() para obtener un elemento por su id, ya que un id es un identificador único y no puede aparecer más de una vez. Para confirmar que solo se recuperaron los elementos <div> específicos, verifique las clases asignadas a los elementos <div>.

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 div in soup.find_all("div"): print(div.attrs.get("class"))
copy
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5
some-alt