📜  Ejercicio Universidades Xpath (1)

📅  最后修改于: 2023-12-03 14:40:57.095000             🧑  作者: Mango

Ejercicio Universidades Xpath

Introducción

En este ejercicio, aprenderemos a utilizar XPath para extraer información de una página web que contiene una lista de universidades. Utilizaremos un lenguaje de programación como Python y una biblioteca llamada lxml para realizar las consultas XPath.

Requisitos
  • Python 3.x instalado en el sistema
  • Biblioteca lxml instalada (pip install lxml)
Paso 1: Obtener el HTML de la página web

Antes de comenzar a utilizar XPath, necesitamos obtener el HTML de la página web que contiene la lista de universidades. Podemos hacer esto utilizando una biblioteca como Requests para hacer la solicitud HTTP y obtener el contenido de la página web.

import requests

url = 'https://www.example.com/universidades'
response = requests.get(url)
html = response.text
Paso 2: Parsear el HTML con lxml

Una vez que tenemos el HTML de la página web, necesitamos parsearlo utilizando la biblioteca lxml. Esto nos permitirá realizar consultas XPath sobre el árbol HTML y extraer la información deseada.

from lxml import etree

tree = etree.HTML(html)
Paso 3: Realizar consultas XPath

Ahora que tenemos el árbol HTML, podemos utilizar XPath para extraer la información que necesitamos. A continuación se muestra un ejemplo de cómo obtener el nombre y la ubicación de todas las universidades de la lista.

# Obtener el nombre de todas las universidades
nombres = tree.xpath('//div[@class="universidad"]/span[@class="nombre"]/text()')

# Obtener la ubicación de todas las universidades
ubicaciones = tree.xpath('//div[@class="universidad"]/span[@class="ubicacion"]/text()')
Paso 4: Mostrar los resultados

Finalmente, podemos mostrar los resultados obtenidos de las consultas XPath. En este ejemplo, los mostraremos en formato de tabla utilizando la biblioteca tabulate.

from tabulate import tabulate

# Organizar los resultados en una lista de tuplas
resultados = [(nombre, ubicacion) for nombre, ubicacion in zip(nombres, ubicaciones)]

# Mostrar los resultados en una tabla
print(tabulate(resultados, headers=["Nombre", "Ubicación"], tablefmt="grid"))

El resultado será una tabla que mostrará el nombre y la ubicación de todas las universidades obtenidas.

+--------------+----------------+
| Nombre       | Ubicación      |
+==============+================+
| Universidad A| Ciudad A       |
+--------------+----------------+
| Universidad B| Ciudad B       |
+--------------+----------------+
...

¡Y eso es todo! Ahora tienes los fundamentos para utilizar XPath y extraer información específica de una página web utilizando programación. Puedes utilizar esta base para realizar consultas más complejas y adaptarla a tus necesidades.

Recuerda que XPath ofrece una gran flexibilidad para seleccionar y filtrar elementos dentro de un documento XML o HTML, ¡así que diviértete explorando y extrayendo datos de diferentes páginas web!