Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0
Inicio Entradas
Conociendo Excel desde otra perspectiva
Sin comentarios Publicada en macros Por AngeldeOdin Publicada el enero 18, 2021
Etiquetada como cute, excel, macro, macros, tablas, vba
+1
Antes de empezar, hay que aclarar qué es en VBA el data scraping si usamos Selenium. Primero,
Selenium puede ser clasificado como una herramienta de automatización que facilita el scraping
desde páginas web HTML para realizar un scraping web (o bien, web scraping) utilizando Google
Chrome. Si no la tienes instalada, la puedes encontrar aquí
Hoy lo que vamos a ver es cómo preparar un macro de Excel antes de hacer un data scraping
Chatear con Excel CUTE
usando Selenium, cómo abrir Google Chrome por medio de VBA, así como abrir un sitio web en
Normalmente responde en unos minutos
Chrome por medio de VBA y cómo hacer un scraping de información, igual por medio de VBA.
Hola, ¿en qué podemos ayudarte?
Antes de iniciar.
Para poder hacer un data scraping tenemos que cumplir con ciertos pre-requisitos en el macro del
archivo antes de empezar en Excel. Estos requisitos son:
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 1/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Abrir VBA Excel, acceder a la pestaña de «Desarrollador» de Excel y buscar la opción de «Visual
Basic»:
Sub data_scrapping()
End sub
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 2/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Cómo abrir Microsoft Chrome usando VBAAl continuar como invitado, aceptas las Condiciones de
Facebook. Obtén información sobre cómo recopilamos,
usamos y compartimos tus datos en la Política de datos,
Primero vamos a declarar e iniciar las variables en esta así
subrutina:
como el uso que hacemos de las cookies y
tecnologías similares en la Política de cookies.
Sub data_scrapping()
Dim wb As Workbook, sh As Worksheet
Dim driver As New WebDriver
Dim rTable As Integer, cTable As Integer, i As Integer
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 3/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Set ws = Nothing
Set wb = Nothing
End Sub
Para abrir Edge Chrome por medio de Selenium y VBA, escribiremos «write driver.start «chrome»»
y presionaremos F5. Este vendría a ser el código que necesitaremos:
Sub data_scrapping()
Dim wb As Workbook, sh As Worksheet
Dim driver As New WebDriver
Chatear con Excel CUTE
Dim rTable As Integer, cTable As Integer, i AsNormalmente
Integer responde en unos minutos
Dim tr As Variant, th As Variant, t As Variant
Hola, ¿en qué podemos ayudarte?
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 4/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Set ws = Nothing
Set wb = Nothing
driver.Close
End Sub
https://excelcute.com/vba-data-scraping-selenium/ 5/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
rTable = 2
cTable = 1
i = 1
'Iniciamos selenium
driver.Start "Chrome"
driver.Get "https://excelcute.com/table-demo/"
Application.Wait Now + TimeValue("00:00:05")
Set ws = Nothing
Set wb = Nothing
driver.Close
End Sub
Presionaremos F5 para ejecutar el macro. La siguiente página web se abrirá en Google Chrome tal y
como se muestra:
Supongamos que el day trader quiere acceder a la información del sitio web a diario. Cada vez que
presione el botón, se extraerán los datos de mercado automáticamente a Excel. Del sitio web de
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 6/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
arriba, sería necesario inspeccionar un elemento y observar cómo es que los datos están
estructurados. Para acceder al código fuente de HTML habrá que presionar CTRL + Shift + I.
<figure class="wp-block-table">
<table>
<thead>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
</tr>
</thead>
<tbody>
<tr>
<td>a1</td>
<td>b1</td>
<td>c1</td>
</tr>
<tr>
<td>a2</td>
<td>b2</td>
<td>c2</td>
Chatear con Excel CUTE
</tr>
Normalmente responde en unos minutos
<tr>
<td>a3</td> Hola, ¿en qué podemos ayudarte?
<td>b3</td>
<td>c3</td> Iniciar sesión en Messenger
</tr>
</tbody>
</table> Continuar como invitado
</figure>
Al continuar como invitado, aceptas las Condiciones de
Facebook. Obtén información sobre cómo recopilamos,
Tal y como se puede ver, los datos están estructurados
usamoscomo una solatustabla
y compartimos datosHTML. Por de
en la Política lo datos,
tanto, para
extraer todos los datos de la tabla HTML, se necesitaríaasídiseñar un que
como el uso macro quede
hacemos extraiga lay
las cookies
información de encabezado de la tabla HTML y la información
tecnologíascorrespondiente
similares en la Políticaasociada
de cookies.con la
tabla. Ahora habrá que seguir estos pasos:
Formular un ciclo «for» que se ejecute a través de la información de encabezado HTML como una colección. El
driver selenium tiene que encontrar la información de encabezado de la tabla HTML. Para hacer esto, vamos a
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 7/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
utilizar los métodos FindElementByClass() y FindElementByTag() para hacer la función tal y como se muestra. El
módulo VBA se vería de la siguiente forma:
Después, el driver selenium localizará la tabla de datos usando un acercamiento similar, por lo que
habrá que escribir el siguiente código:
Excel puede iniciarse mediante el atributo de rango de la hoja de Excel o a través de los atributos de
las celdas de la hoja de Excel. Para reducir la complejidad del script de como
Continuar VBA, la colección de datos es
invitado
iniciada a los atributos de las celdas de Excel de la hoja 1 presentes en el libro de trabajo. El atributo
de texto ayuda a obtener la información del texto puesta bajo la etiqueta HTML.
Al continuar como invitado, aceptas las Condiciones de
Facebook. Obtén información sobre cómo recopilamos,
Sub data_scrapping() usamos y compartimos tus datos en la Política de datos,
así como el uso que hacemos de las cookies y
Dim wb As Workbook, sh As Worksheet tecnologías similares en la Política de cookies.
Dim driver As New WebDriver
Dim rTable As Integer, cTable As Integer, i As Integer
Dim tr As Variant, th As Variant, t As Variant
'Variables de libro
Política y hoja
de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 8/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Set wb = ThisWorkbook
Set ws = wb.Sheets(1)
'Iniciamos selenium
driver.Start "Chrome"
driver.Get "https://excelcute.com/table-demo/"
Application.Wait Now + TimeValue("00:00:05")
Set wb = Nothing
driver.Close
End Sub
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 9/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Una vez el macro script esté listo, pasa y asigna la subrutina al botón de Excel y sal del módulo de
VBA. Cambiaremos el nombre del botón a «Actualizar» o cualquier nombre
Iniciar sesión enque sea adecuado. Para
Messenger
este ejemplo quedará como Actualizar:
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 10/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Presionaremos el botón para obtener los datos de salida. Continuar como invitado
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 11/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Ahora solo quedará comparar los resultados en Excel con los resultados de Google Chrome para
saber que todo ha salido bien.
Cualquier duda nos leemos abajo. Hola, ¿en qué podemos ayudarte?
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 12/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Enviar Whatsapp desde VBA Excel. Mejora el desempeño de tus macros Ejemplo de Modulo de Clase VBA
diciembre 30, 2019 VBA en Excel con estos 9 tips mayo 21, 2020
En «macros» abril 9, 2020 En «macros»
En «macros»
Power Automate: Subir archivo desde Microsoft Power Automate: ¿Cómo revisar si una propiedad existe en el
Forms objeto?
Comentario
Web
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 13/14
5/9/2021 Cómo hacer data scraping con VBA y Selenium - macros
Publicar el comentario
Política de cookies.
https://excelcute.com/vba-data-scraping-selenium/ 14/14