Estructura del HTML con Beautiful Soup para web scraping

Clase 4 de 15Curso de Web Scraping con Python

Resumen

¿Quieres aprender a extraer información específica de sitios web? El web scraping es una técnica accesible aunque no seas especialista en desarrollo web. Solo necesitarás conocer algunos conceptos básicos de HTML y herramientas prácticas como Beautiful Soup, que facilitan la recuperación organizada de datos importantes desde páginas web.

¿Qué es HTML y por qué importa en web scraping?

HTML es el lenguaje basado en etiquetas (tags) usado para estructurar páginas web y su contenido. Cada etiqueta cumple una función concreta:

  • H1: para títulos principales.
  • H2: para subtítulos.
  • P: para párrafos.
  • DIV: contenedores genéricos con clases específicas (como Product) que agrupan elementos como imágenes o precios.

Estas etiquetas establecen jerarquías mediante el DOM (Document Object Model), permitiendo acceder fácilmente a información precisa mediante herramientas específicas.

¿Cómo usar Beautiful Soup para extraer información?

Conociendo brevemente las etiquetas de HTML, puedes usar Beautiful Soup para realizar parsing (parseo) del código HTML, convirtiéndolo a una estructura fácilmente manipulable:

  1. Realiza una petición GET para obtener el texto HTML del sitio.
  2. Usa Beautiful Soup para convertir este texto a una estructura HTML organizada:
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
  1. Emplea métodos específicos como find() para acceder rápidamente a etiquetas concretas. Por ejemplo, para obtener el título de la página:
head = soup.find('title').getText().strip()

Este código recupera únicamente el texto del título, eliminando espacios sobrantes.

¿Cómo localizar información dentro de etiquetas específicas?

Para encontrar elementos específicos, como títulos contenidos dentro de un DIV con una clase particular:

titulo = soup.find('div', class_='nombre_clase').getText().strip()

Si incidentemente seleccionas un contenedor que incluye tu elemento objetivo, presta atención a elegir exactamente el DIV correcto; así aseguras extraer siempre los datos precisos.

¿Estás listo para extraer información detallada, como nombres, imágenes y precios de productos? Profundizaremos en estos conceptos en la siguiente sección. Cuéntanos, ¿qué información te gustaría extraer primero?