Bú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"))
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"}))
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"))
¡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
Awesome!
Completion rate improved to 4.35
Bú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"))
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"}))
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"))
¡Gracias por tus comentarios!