Para abordar el problema de la extracción de datos de una página web, debemos comenzar con un enfoque técnico que implique la lectura y manipulación del código HTML que compone esa página. El primer paso es obtener el código de la página web. Esto puede lograrse fácilmente haciendo clic derecho en la página y seleccionando "Ver fuente de la página" o alguna opción similar dependiendo del navegador. Este paso nos proporciona el código HTML de la página, que es donde se encuentran los datos que necesitamos extraer.

Una vez que tenemos acceso al HTML de la página, podemos comenzar a desglosar la información relevante. Este proceso generalmente se realiza mediante la división de las filas de datos, que en HTML están organizadas dentro de tablas. Para dividir las filas del código, podemos usar el método string.split(). Esto nos dará una lista en la que cada elemento corresponde a una fila de la tabla.

Al observar el HTML más de cerca, notamos que los saltos de línea dentro del código han sido reemplazados por el carácter especial \n, que es la forma estándar en la programación para representar un salto de línea dentro de una cadena de texto. Para separar cada una de las filas de datos, podemos recorrer la lista de filas y usar el símbolo \n como delimitador para dividir cada línea en sus respectivos elementos.

A continuación, el siguiente paso es extraer los datos que realmente nos interesan. Utilizamos expresiones regulares (a través del módulo re en Python) para buscar patrones específicos dentro del HTML. Por ejemplo, si estamos interesados en extraer solo los datos que contienen un valor numérico o de texto en particular, podemos usar re.search() para identificar y extraer esos fragmentos de la cadena.

Es importante destacar que, después de extraer los datos, es probable que queramos organizarlos en listas separadas para poder procesarlos o analizarlos más fácilmente. Esto se logra utilizando una variable contador dentro de un bucle que nos permitirá clasificar los datos en diferentes listas según su tipo o categoría.

En este proceso, hemos utilizado varias técnicas de programación, como bucles, estructuras condicionales (if), listas y el uso de módulos externos. Cada una de estas herramientas es esencial para trabajar con datos extraídos de la web, y nos permite manipular la información de manera eficiente.

El objetivo de este ejercicio es familiarizarnos con el proceso de scraping web utilizando Python, un recurso cada vez más útil en el análisis de datos y la automatización de tareas en la web. Sin embargo, es fundamental comprender que el scraping web debe realizarse respetando las políticas de uso de los sitios web, ya que no todos los datos son accesibles de esta manera por razones de privacidad o derechos de autor.

Además, es crucial entender que la manipulación de datos extraídos debe hacerse de manera ética y responsable. El scraping puede ser una herramienta poderosa para obtener información de la web, pero también puede ser utilizado de manera inapropiada, como en el caso de la sobrecarga de los servidores o el uso de datos sin el debido consentimiento. Por ello, es importante estar al tanto de las regulaciones sobre el uso de datos en la web y actuar de acuerdo con las buenas prácticas establecidas.

Finalmente, para aquellos que deseen profundizar más en esta habilidad, existen numerosos recursos gratuitos disponibles en línea que ofrecen tutoriales y lecciones interactivas sobre Python y scraping web. Estas fuentes son ideales para perfeccionar las habilidades adquiridas en este capítulo y seguir explorando el mundo del desarrollo web y el análisis de datos.

¿Cómo funciona una página HTML y cómo crear la tuya propia?

Una página HTML se estructura de manera simple pero efectiva. Lo primero que debemos hacer es definir el documento como un archivo HTML, utilizando la etiqueta <html>. Dentro de esta estructura, encontramos dos secciones clave: la sección <head>, que contiene metadatos importantes como el título y la descripción de la página, y la sección <body>, que es donde se coloca el contenido visible de la página.

Dentro de la sección <body>, existen diferentes etiquetas que nos permiten organizar y presentar el contenido. Las etiquetas de encabezado, como <h1>, <h2>, y así sucesivamente hasta <h6>, nos permiten crear títulos de diferentes tamaños y niveles. Cada una de estas etiquetas tiene su propio impacto visual: por ejemplo, la etiqueta <h1> genera un título grande y en negrita, mientras que <h2> será más pequeño, pero igualmente destacada. A través de estas etiquetas, podemos jerarquizar la información en nuestra página.

El siguiente elemento fundamental es el párrafo, representado por la etiqueta <p>. Cada vez que necesitemos agregar texto común a nuestra página, lo haremos dentro de estas etiquetas. Los párrafos se separan entre sí por un pequeño espacio en la interfaz de usuario, lo que facilita la lectura y la organización del contenido.

Una vez que hemos comprendido las estructuras básicas de una página HTML, podemos empezar a crear nuestras propias páginas desde cero. Como primer ejercicio, la mejor manera de aprender es practicar. Para ello, se puede intentar crear un archivo HTML básico, donde el título sea "Mi primera página web" y el contenido dentro de un párrafo sea "¡Hola Mundo!". Esto ayudará a familiarizarse con los conceptos fundamentales y la sintaxis básica de HTML.

A medida que vayamos avanzando, descubriremos más etiquetas que permiten personalizar y dar formato a nuestra página. Un paso importante en este proceso es la modificación del texto, ya que a menudo necesitamos resaltar o cambiar su apariencia. La etiqueta <strong> se utiliza para hacer que el texto aparezca en negrita, mientras que <em> es usada para dar énfasis al texto, haciéndolo en cursiva. Además, HTML nos ofrece etiquetas como <sup> y <sub> para crear texto en superíndice y subíndice, respectivamente, y <s> para aplicar un efecto de tachado.

Además de los textos, es común que queramos presentar la información en forma de listas. HTML nos permite crear listas desordenadas, con la etiqueta <ul> y sus elementos <li>, que generan listas con viñetas. Si queremos que las listas sean ordenadas, cambiamos <ul> por <ol>, lo que dará lugar a una lista numerada. Las listas son una excelente manera de organizar información de forma clara y visualmente atractiva.

Por otro lado, HTML no solo se limita a estructurar texto, sino que también permite incluir enlaces a otras páginas web, imágenes y otros recursos multimedia que enriquecen la experiencia del usuario. La etiqueta <a> se utiliza para insertar enlaces, mientras que la etiqueta <img> se usa para agregar imágenes a nuestras páginas. Estos elementos hacen que nuestras páginas web sean mucho más dinámicas y atractivas.

Es importante destacar que HTML no es un lenguaje de programación en el sentido tradicional, ya que no permite realizar cálculos o interacciones complejas. Sin embargo, su función es crucial para la creación de la estructura de cualquier página web. HTML es la base sobre la cual se construyen las páginas, y con él, podemos dar formato a texto, insertar imágenes, enlaces, listas y mucho más.

A medida que continuamos explorando más sobre HTML, veremos que existen muchas otras etiquetas y atributos que nos permiten controlar la apariencia y el comportamiento de nuestras páginas. Sin embargo, lo más importante es tener una comprensión sólida de cómo funciona HTML a nivel básico, para poder crear páginas bien estructuradas y fáciles de entender para los usuarios.

En resumen, el aprendizaje de HTML es un primer paso esencial para adentrarse en el desarrollo web. Aunque puede parecer simple al principio, dominarlo bien nos permitirá crear páginas web estructuradas y funcionales que sirvan como base para proyectos más complejos en el futuro.