¿Cómo extraer datos con Excel?

Autor :

Reaccionar :

Comentario

Excel permite extraer datos de páginas web sin instalar ninguna herramienta externa. Power Query Es el método más sencillo: bastan unos pocos clics para extraer una tabla HTML e importarlo directamente a una hoja de cálculo. En el caso de las páginas más complejas, el VBA toma el relevo y te da más control.

A continuación te explicamos cómo realizar web scraping en ambos casos.

Interfaz de Excel que muestra la extracción de datos web mediante Power Query
Extraer datos de la web a Excel es cuestión de unos pocos pasos. ©Christina para Alucare.fr

¿Cómo extraer datos de una página web a Excel con Power Query?

Power Query es una herramienta integrada en Microsoft Excel (también conocido como Consulta web (en algunas versiones) que sirve para importar, transformar y analizar datos web procedentes de diferentes fuentes. En concreto, puedes:

  • Recuperar datos web desde una página web, un archivo o una base de datos.
  • Limpiar o transformar estos datos antes de analizarlos.
  • Cargar los datos automáticamente en una hoja de cálculo para que tu equipo pueda trabajar con información actualizada.

Es el método más sencillo para extraer datos de la web a Excel sin escribir ni una sola línea de código. Estos son los cuatro pasos que hay que seguir.

Paso 1: Acceder a la herramienta de importación

Dentro Microsoft Excel, ve a la’pestaña «Datos», y luego haz clic en Obtener datos y, por último, en Desde la web.

Abre una nueva hoja de Excel, ve a «Datos», luego a «Obtener datos» y, a continuación, a «Desde la web».
Abre una nueva hoja de Excel, ve a “Datos”, luego a “Obtener datos” y, a continuación, a “Desde la web”. ©Christina para Alucare.fr

Paso 2: Pegar la URL de la página web

Pega el’URL de la página web o de la página que contiene la información que quieres extraer y, a continuación, confirma.

Pega la URL del sitio web o de la página de destino en Power Query.
Pega la dirección del sitio web o de la página de destino. ©Christina para Alucare.fr

Paso 3: Navegar por el “Navegador”

Se abre una ventana en la que aparecen los tablas detectadas. Power Query identifica automáticamente las tablas que hay en el código de la página. Selecciona la tabla que te interese, por ejemplo, una tabla HTML, para obtener un conjunto de datos limpio.

Selecciona la tabla o los datos detectados en el Navegador de Power Query.
Seleccionar la tabla o los datos. ©Christina para Alucare.fr

Paso 4: Cargar los datos en una hoja de Excel

Haga clic en Cargar para importar los datos directamente a tu hoja de cálculo. Enseguida obtendrás una tabla ordenada, lista para ser analizada.

Haz clic en «Cargar» para importar los datos de la web a la hoja de Excel.
Cargar para importar los datos. ©Christina para Alucare.fr

Para obtener la información más reciente de la página web, haz un clic derecho en tu tabla y, a continuación, haz clic en Actualizar. De este modo, mantienes los datos actualizados casi en tiempo real.

Lo que debes saber antes de lanzarte

Power Query solo funciona con páginas HTML estáticas. Si la tabla no aparece en el navegador, suele deberse a que la página carga su contenido en JavaScript : sitios web en React, Angular, o datos que aparecen tras desplazarse por la página.

En ese caso, tienes dos opciones. Puedes dirigirte directamente al’API que la página web ejecuta en segundo plano, algo que suele verse en las herramientas de desarrollo del navegador. Si no es así, pasa al método VBA o a una herramienta específica como Octoparse.

¿Cómo realizar scraping con VBA y macros de Excel?

VBA (Visual Basic for Applications) es el lenguaje de programación integrado en Microsoft Excel y al resto de programas informáticos Microsoft Office. Te permite:

  • Automatizar tareas repetitivas en Excel.
  • Cree macros, pequeños programas que se ejecutan directamente en tu archivo.
  • Abrir una página web, extraer texto o tablas y, a continuación, pegarlos automáticamente en Excel.

Es más técnico que Power Query, pero te llevas un control avanzado : navegación entre varias páginas, gestión de una sesión con autenticación, recopilación de datos que Power Query no detecta.

Aquí hay un ejemplo de macro que recupera una tabla HTML de una página:

Sub ScraperTableau()

 ' Declaración de objetos
    Dim http As Object, html As Object
    Dim tabla As Object, fila As Object, celda As Object
    Dim i As Long, j As Long

 ' URL de la página que se va a rastrear
    Dim url As String
    url = "https://www.w3schools.com/html/html_tables.asp"
 
 ' Creación de un objeto HTTP
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send

 ' Cargar el contenido HTML
    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    ' Selección de la primera tabla encontrada
    Set tabla = html.getElementsByTagName("table")(0)

 ' Bucle sobre las filas y columnas
    For i = 0 To tabla.Rows.Length - 1
        For j = 0 To tabla.Rows(i).Cells.Length - 1
 Cells(i + 1, j + 1).Value = tabla.Rows(i).Cells(j).innerText
 Next j
    Next i

End Sub

Explicación del código:

  • Dim http como objeto, html como objeto : crea los objetos para gestionar la solicitud web y el contenido HTML.
  • url = "..." : la URL de la página web que se va a rastrear.
  • http.Open "GET", url, False : envía una solicitud HTTP para cargar la página.
  • html.body.innerHTML = http.responseText : inserta la respuesta HTML en un objeto manipulable.
  • Set tabla = html.getElementsByTagName("table")(0) : se dirige al primer cuadro de la página.
  • Doble hebilla Para i … Para j … : lee cada celda de la tabla y la pega en la celda correspondiente de Excel.

Hay que tener en cuenta una limitación importante. Este código envía un solicitud HTTP sencilla vía MSXML2.XMLHTTP y recupera únicamente el HTML estático que devuelve el servidor. Este No se puede ejecutar el JavaScript de una página. En un sitio web moderno que carga sus datos de forma dinámica, obtendrás un resultado vacío. En estos casos, hay que utilizar un navegador real, por ejemplo, con Selenium y Python.

Cuándo utilizar VBA para el scraping:

  • En el páginas que requieren autenticación (nombre de usuario y contraseña).
  • Cuando tienes que recoger varias tablas de una misma página o navegar entre varias páginas.
  • Para automatizar la recopilación diaria de datos mediante un botón o un activador programado.

Power Query frente a VBA: ¿qué método elegir para extraer datos con Excel?

La elección entre Power Query y VBA Depende de tus necesidades y de la complejidad de la página web objetivo. Aquí tienes una comparativa rápida para ayudarte a decidir.

Criterios Power Query VBA
Facilidad de uso Muy sencillo, sin código Complejo, requiere código
Flexibilidad Limitado a los datos tabulares Muy flexible, control total
Curva de aprendizaje Débil Alta
Tipo de página Paginas HTML solo estáticas Solicitudes HTTP, páginas con autenticación
Casos de uso Extracción rápido de cuadros Automatización avanzada, necesidades específicas

En la práctica, Power Query sigue siendo la mejor opción para los principiantes y para la mayoría de las tareas habituales: bastan cuatro pasos para importar datos de la web a Microsoft Excel, sin escribir ni una sola línea de código.

Elige VBA solo cuando tengas una necesidad concreta que Power Query No incluye: páginas complejas, autenticación ni automatización avanzada. Para todo lo demás, Power Query te hará ganar tiempo.

¿Cuáles son las alternativas a Excel para el web scraping?

Excel sigue siendo práctico, pero pronto muestra sus limitaciones cuando se trata de grandes volúmenes de datos web. Para un proyecto más ambicioso, hay otras herramientas que toman el relevo. Algunas funcionan sin código, mientras que otros requieren algunos conocimientos de programación. También encontrarás herramientas gratuitas según tus necesidades.

Herramientas «no-code» y «low-code»

Estas herramientas permiten la recopilación de datos web sin escribir ni una sola línea de código. Configuras tu proyecto a través de una interfaz gráfica y, a continuación, exportas el resultado a formato CSV para abrirlo directamente en Excel. Esto resulta útil para la vigilancia de mercado o el seguimiento de diversas fuentes de Internet.

  • Bright Data : una solución profesional, potente y diseñada para satisfacer las grandes necesidades de una empresa.
  • Octoparse a scraper web sin código con una interfaz sencilla, ideal para principiantes y para exportar a Excel con solo unos clics.

Interfaz de Bright Data, infraestructura de recopilación de datos web para la IA y la BI
Bright Data es una infraestructura de datos web ilimitada para IA y BI. ©Christina para Alucare.fr

Lenguajes de programación

Un idioma como Python te permite extraer datos de páginas web de forma muy flexible. Puedes navegar por varias páginas de forma automática, gestionar los sitios web con autenticación y garantizar una recopilación de datos que sería imposible de llevar a cabo con Power Query. Esto resulta especialmente útil para una empresa que realiza un seguimiento de sus competidores o analiza sus redes de distribución.

Si se trata de un proyecto complejo, opta por el web scraping con Python y BeautifulSoup. Es el método más eficaz cuando la recopilación de datos se vuelve habitual o a gran escala.

A continuación te ofrecemos una breve comparación de las soluciones que superan a Excel en potencia, flexibilidad y sencillez.

Herramienta / Lenguaje Costo Complejidad Potencia
Excel (Power Query) Depende del paquete Office Fácil Básico
Excel (VBA) Gratis (con una licencia Office) Significar Significar
Bright Data Suscripción mensual Significar Muy alta
Octoparse Suscripción mensual Fácil Significar
Python (BeautifulSoup, Scrapy) Libre Alta Muy alta

¿Qué herramientas y recursos pueden ayudar a extraer datos con Excel?

Para ir más allá de Power Query y VBA, puedes combinar Excel con herramientas de terceros. Estos rastreadores exportan los datos a CSV, un formato que Excel abre directamente. De este modo, obtienes un conjunto de datos limpio, listo para analizar, sin tener que escribir ni una sola línea de código.

Aquí tienes dos opciones útiles en función de tus necesidades:

  • A extensión web scraping para tu navegador, como Web Scraper seguro Chrome Donde Firefox. Es ideal para extraer datos de una página web con solo unos clics, sin necesidad de instalaciones complicadas.
  • la web scraping con Python. Este método requiere un poco de código, pero gestiona los páginas complejas que Power Query no lo detecta.

En concreto, elige el’extensión para una necesidad puntual y urgente. Ve a Python en cuanto quieras automatizar una recopilación de datos periódica o procesar un gran volumen de información.

¿Es legal el web scraping?

la El web scraping es legal. bajo ciertas condiciones. Todo depende de las condiciones generales de uso de la web, de la propiedad intelectual y del uso que hagas de los datos recopilados.

En la práctica, los datos públicos suelen ser recuperables. Sin embargo, en cuanto tocas los datos personales (nombre, correo electrónico, perfil), introduce en el campo del RGPD, aunque esta información sea de acceso público en Internet.

Antes de extraer datos de una página web, comprueba dos cosas sencillas:

  • El expediente robots.txt del sitio web, que indica las páginas que los robots pueden o no pueden rastrear.
  • Él condiciones de uso, que en ocasiones prohíben explícitamente la recopilación automatizada de datos.

Para mantener la calma, limítate a datos no personales y respeta el ritmo de la página web para no sobrecargarla.

👍Su opinión
El artículo es informativo
El artículo es objetivo
El artículo responde a mi pregunta
El contenido está actualizado
🔍 ¿Has encontrado algún error? ¡Dinos dónde!

¿Te gusta? ¡Compártelo!

Este contenido es originalmente en francés (Véase el editor justo debajo). Se ha traducido y revisado en varios idiomas utilizando Deepl y/o la API de Google Translate para ofrecer ayuda en el mayor número de países posible. Esta traducción nos cuesta varios miles de euros al mes. Si no es 100 % perfecta, déjanos un comentario para que podamos arreglarlo. Si estás interesado en corregir y mejorar la calidad de los artículos traducidos, ¡envíanos un correo electrónico a través del formulario de contacto!
Agradecemos sus comentarios para mejorar nuestros contenidos. Si desea sugerirnos mejoras, utilice nuestro formulario de contacto o deje un comentario a continuación. Sus comentarios siempre nos ayudan a mejorar la calidad de nuestro sitio web Alucare.fr


Alucare es un medio de comunicación independiente. Apóyanos añadiéndonos a tus favoritos de Google News:

Publicar un comentario en el foro de debate