¿Alguna vez has querido extraer fácilmente datos específicos de un sitio web? Aprenderás cómo hacerlo usando Beautiful Soup en Python. Podrás obtener información esencial como títulos, precios e imágenes desde páginas web estructuradas rápidamente y guardarlas en formato CSV.
¿Cómo identificar elementos específicos en una página web?
Antes de extraer información con Python, necesitas identificar la estructura HTML donde se encuentra la información clave. Utilizando herramientas de desarrollo del navegador, puedes explorar las etiquetas HTML y clases de los elementos para encontrar exactamente las partes importantes del contenido.
Por ejemplo, en este proyecto se identifica que cada libro del sitio web está encerrado en un elemento llamado artículo: etiqueta article con clase product-pot. Dentro de cada artículo hay detalles como título, imagen, precio y otros.
¿Cómo extraer nombres, precios e imágenes con Beautiful Soup?
Primero obtendrás todos los artículos de productos usando Beautiful Soup con la función select:
products = soup.select('.product-pot')
Luego recorres cada artículo para extraer información concreta:
Para el título: localizarás la etiqueta h3 dentro del artículo, luego la etiqueta a contenida en ella.
nombre = producto.find('h3').find('a')['title']
Para el precio: buscas la etiqueta p que tenga la clase price_color y obtienes el texto de dicha etiqueta.
Esto generará un archivo CSV dentro de la carpeta resultados, estructurado por columnas que contienen cada aspecto esencial del producto que seleccionaste previamente.
¡Te invito a participar en el desafío propuesto: intenta obtener también el número de estrellas de cada libro y si está en stock! Deja tu solución en los comentarios.
Extracción de datos específicos con Beautiful Soup en Python