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

Ciertas etiquetas HTML requieren atributos obligatorios, como la etiqueta de anclaje que necesita el atributo href o <img> que requiere el atributo src. Si se desea obtener un atributo específico, se puede utilizar el método .get() después de .attrs. Por ejemplo, a continuación se muestra cómo 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 es posible encontrar el atributo id, que es bastante común y se utiliza para distinguir elementos bajo la misma etiqueta. Si se desea buscar valores específicos de atributos, se pueden pasar como un diccionario (en el formato attr_name: attr_value) como parámetro para .find_all() (inmediatamente después de especificar la etiqueta que se está buscando). Por ejemplo, se buscan únicamente los elementos <div> con el atributo class establecido en "box", o se busca el elemento <p> cuyo atributo "id" tiene el valor "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

Se utilizó el método .find() (en lugar de .find_all()) para recuperar el elemento con un id específico, ya que el id es un identificador único y no puede haber más de un elemento con el mismo valor. Para asegurar que se obtienen solo los elementos <div> específicos, se recomienda examinar las clases que poseen 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ú

Ciertas etiquetas HTML requieren atributos obligatorios, como la etiqueta de anclaje que necesita el atributo href o <img> que requiere el atributo src. Si se desea obtener un atributo específico, se puede utilizar el método .get() después de .attrs. Por ejemplo, a continuación se muestra cómo 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 es posible encontrar el atributo id, que es bastante común y se utiliza para distinguir elementos bajo la misma etiqueta. Si se desea buscar valores específicos de atributos, se pueden pasar como un diccionario (en el formato attr_name: attr_value) como parámetro para .find_all() (inmediatamente después de especificar la etiqueta que se está buscando). Por ejemplo, se buscan únicamente los elementos <div> con el atributo class establecido en "box", o se busca el elemento <p> cuyo atributo "id" tiene el valor "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

Se utilizó el método .find() (en lugar de .find_all()) para recuperar el elemento con un id específico, ya que el id es un identificador único y no puede haber más de un elemento con el mismo valor. Para asegurar que se obtienen solo los elementos <div> específicos, se recomienda examinar las clases que poseen 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