Cuando estamos interesados en obtener información de un sitio web, el primer paso crucial es explorar el código fuente del sitio para identificar las etiquetas HTML que contienen la información que queremos extraer.
Este proceso es esencial para tareas de web scraping y otras técnicas de extracción de datos, pero también es muy útil para entender la estructura de un sitio web.
En este post, te explicaré cómo inspeccionar el código fuente de un sitio web, reconocer las etiquetas HTML importantes y cómo navegar por su estructura para localizar los datos que necesitas.
Nota: Este artículo se centrará únicamente en la exploración del código fuente y las etiquetas, sin tocar las técnicas de extracción de información, lo cual puedes encontrar en este artículo sobre BeautifulSoup.
El código fuente de un sitio web es el conjunto de instrucciones en HTML, CSS y JavaScript que construye la página que ves en tu navegador. Aunque no veas este código directamente, los navegadores lo utilizan para representar los elementos visuales como texto, imágenes, enlaces y otros elementos interactivos.
El lenguaje HTML utiliza etiquetas (tags) para definir la estructura del contenido. Cada etiqueta tiene un propósito específico: algunas contienen texto, otras imágenes, y algunas están destinadas a contener enlaces o formularios.
En este ejemplo podrás ver las etiquetas de cada elemento, envueltas en pares de "<>".
Antes de comenzar a identificar etiquetas clave, necesitas acceder al código fuente de una página web. La mayoría de los navegadores modernos proporcionan herramientas de desarrollo que permiten inspeccionar fácilmente el código.
1. Google Chrome:
- Haz clic derecho en cualquier parte de la página web y selecciona "Inspeccionar".
- Alternativamente, puedes presionar `Ctrl+Shift+I` (Windows/Linux) o `Cmd+Option+I` (Mac) para abrir las herramientas de desarrollo.
2. Mozilla Firefox:
- Haz clic derecho en la página y selecciona "Inspeccionar elemento".
- O usa `Ctrl+Shift+I` (Windows/Linux) o `Cmd+Option+I` (Mac).
3. Microsoft Edge:
- Haz clic derecho en la página y selecciona "Inspeccionar".
- También puedes presionar `Ctrl+Shift+I`.
4. Safari:
- Activa el menú de desarrollador en Safari > Preferencias > Avanzado y marca la opción "Mostrar el menú Desarrollador".
- Luego, haz clic derecho y selecciona "Inspeccionar elemento", o presiona `Cmd+Option+I`.
Una vez abiertas las herramientas de desarrollo, verás una ventana dividida en secciones. La parte izquierda o superior generalmente muestra el código HTML de la página, mientras que a la derecha o en la parte inferior puedes ver información sobre los estilos CSS aplicados, consolas, entre otras herramientas.
La sección de "Elements" (o "Inspector") es donde pasarás la mayor parte del tiempo navegando a través del HTML.
Ahora que tienes acceso al código fuente, es momento de aprender a identificar las etiquetas HTML que contienen la información que deseas extraer. El HTML está estructurado en forma de árbol, donde las etiquetas son nodos que contienen elementos secundarios (hijos) y están dentro de elementos más grandes (padres).
1. `<div>`:
- Es una de las etiquetas más comunes y versátiles en HTML. Un `div` es un contenedor que agrupa otros elementos. Muchas veces, la información clave que buscamos estará dentro de varios `div` organizados con clases (`class`) o identificadores (`id`) específicos.
<div class="contenido-principal">
<h1>Bienvenido a mi sitio web</h1>
<p>Este es un párrafo dentro de un div.</p>
</div>
2. `<p>`:
- Representa un párrafo de texto. Si la información que buscas es texto, como descripciones o párrafos de un artículo, es probable que esté dentro de etiquetas `<p>`.
<p>Este es un párrafo de texto.</p>
3. `<h1>` a `<h6>`:
- Son encabezados y se usan para títulos y subtítulos en la página. El `h1` es el encabezado principal, mientras que `h2`, `h3`, etc., se utilizan para subtítulos.
<h1>Título Principal</h1>
<h2>Subtítulo</h2>
4. `<a>`:
- Es una etiqueta de enlace. Si necesitas obtener URLs de una página, los enlaces estarán dentro de las etiquetas `<a>`. El atributo `href` contendrá la URL del enlace.
<a href="http://ejemplo.com">Visita nuestro sitio</a>
5. `<img>`:
- Es la etiqueta para imágenes. El atributo `src` contiene la URL de la imagen, y el atributo `alt` contiene el texto alternativo.
<img src="imagen.jpg" alt="Descripción de la imagen">
6. `<span>`:
- Similar a un `div`, pero más pequeño y generalmente utilizado para agrupar pequeñas porciones de texto u otros elementos. Frecuentemente se usa en combinación con clases para aplicar estilos específicos.
<span class="precio">$50</span>
7. `<ul>` y `<li>`:
- Estas etiquetas se utilizan para listas. Si la información que necesitas está organizada en una lista (como ítems o categorías), la encontrarás dentro de `ul` (lista desordenada) o `ol` (lista ordenada) y sus elementos `li` (elementos de la lista).
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
</ul>
8. `<table>`:
- Si la información está organizada en formato tabular, la encontrarás dentro de etiquetas `<table>`, con sus elementos hijos `<tr>` (filas), `<th>` (encabezados de columnas), y `<td>` (celdas de datos).
<table>
<tr>
<th>Columna 1</th>
<th>Columna 2</th>
</tr>
<tr>
<td>Dato 1</td>
<td>Dato 2</td>
</tr>
</table>
Muchas veces, los datos estarán organizados dentro de `divs`, `spans`, o listas que usan clases (`class`) o identificadores (`id`) específicos. Estos atributos son claves para encontrar y extraer la información exacta que necesitas.
- Clases (`class`): Agrupan elementos similares y definen su estilo o comportamiento.
<div class="producto">
<h2 class="nombre">Producto 1</h2>
<p class="precio">$30</p>
</div>
- Identificadores (`id`): Son únicos para cada elemento en una página, lo que significa que puedes identificar un solo elemento de manera precisa.
<div id="producto123">
<h2>Producto 1</h2>
<p>Descripción del producto</p>
</div>
Una de las mejores características de las herramientas de desarrollo de los navegadores es que puedes hacer clic derecho sobre cualquier elemento de la página y seleccionar "Inspeccionar". Esto te llevará directamente a la sección del código HTML que representa ese elemento, permitiéndote ver sus etiquetas, clases e identificadores.
1. Haz clic derecho en el elemento que contiene la información que quieres extraer (por ejemplo, un título, un precio o una imagen).
2. Selecciona "Inspeccionar" para ver el código HTML correspondiente en la herramienta de desarrollo.
3. Observa las etiquetas y atributos (clases, ID) alrededor del elemento, ya que esto te dará pistas sobre cómo buscar la información de manera precisa.
- Cambios Dinámicos: Algunos sitios web utilizan JavaScript para cargar dinámicamente el contenido después de que la página se ha cargado. En estos casos, el contenido puede no estar disponible inmediatamente en el HTML. Verás etiquetas vacías o marcadores de posición. Asegúrate de esperar a que el contenido se cargue antes de inspeccionarlo.
- Contenido Anidado: La estructura del HTML es jerárquica, lo que significa que los elementos pueden estar anidados unos dentro de otros. Esto es importante cuando buscas información específica, ya que tal vez necesites explorar varias capas de etiquetas.
- Repetición de Clases: Las clases suelen repetirse para varios elementos de la misma categoría (por ejemplo, varios productos en una tienda en línea).
Puedes conocer todo el contenido que comparto en mi perfil de LinkedIn
Puedes descargar GRATIS mi manual completo en pdf de Python Rápido