Primeros pasos para recopilar datos de páginas web
2025-06-19
Cientista Político. Actualmente se encuentra trabajando en el Laboratorio de Conversación Pública de la UCEN centrándose principalmente en labores de scraping y organización de datos. A su vez, ha participado en labores de investigación sobre las élites políticas y sociales. Finalmente Se destaca la participación en Café Geopolítico en el área de recolección de datos.
Intereses:
La música y la política
Plataformas de Redes Sociales
Relaciones Internacionales (America Latina y Medio Oriente)
La utilización de Redes Neuronales en las Ciencias Sociales
Análisis de Medios de Comunicación
Alberto Anrique D.
En internet existen un montón de páginas web, cada una con sus particularidades, pero todas comparten una lógica de organización interna para su funcionamiento y visualización, en este aspecto, destacan dos lenguajes fundamentales:
HTML (Hypertext Markup Languaje)
Es el lenguaje base de toda página web. Su función principal es estructurar el contenido mediante etiquetas como ‘section’, ‘div’, ‘a’, ‘b’, entre otras. HTML organiza la información en bloques jerárquicos (o de cascada) que, por sí solos, no tienen estilos visuales definidos. Para dar forma y diseño a esa estructura, se utiliza CSS (Cascading Style Sheets), el cual define colores, tamaños de fuente, márgenes, posiciones, etc.
JavaScript
Es un lenguaje de programación que permite agregar interactividad y dinamismo a las páginas web. A diferencia de HTML, que es estático, JavaScript puede modificar la estructura del contenido en tiempo real, lo que complica la automatización o extracción de datos. Esto se debe a que los datos pueden generarse de forma asincrónica, es decir, cargarse después de que la página se ha renderizado inicialmente.
El Web scrapping es una herramienta que permite extraer y ordenar datos de páginas web de forma automatizada y que, muchas veces, busca simular la navegación humana. Los procesos que se llevan a cabo son:
Paquetes importantes:
rvest
dpylr
tidyverse
En R existe el paquete ‘rvest’ el cual tiene funciones de lectura (read_html), recolección(html_element o html_elements) y limpieza de datos (html_text o html_text2)
Si quisieramos extraer el siguiente titular: < h1 itemprop=“name” class=“entry-title”> 100 preguntas sobre el nuevo desorden; Carlos Taibo< /h1>
Necesitaríamos utilizar el siguiente comando:
lo cual dejaría el siguiente texto:
[1] "100 preguntas sobre el nuevo desorden; Carlos Taibo"
Lo que se llevo a cabo en el código anterior fue:
En primer lugar, se le pone un nombre a la URL, en este caso “prueba”. En prueba se le carga todo el HTML de la página de “El Rincón del Vago” con el comando read_html.
Posteriormente, se cargan los datos que se encuentran en “class= entry-title”, en una variable, que en este caso se llama “titular”.
Finalmente, para que el texto esté limpio se utiliza el comando “html_text2”.
rvest cuenta con un comando capaz de extraer tablas de páginas web, lo que facilita el la extracción manual, además de ser actualizable en caso de que la página agregue más datos, como ejemplo se utilizará la tabla de la Fórmula 1:
< table style=“border-collapse:collapse;border-spacing:0” class=“Table Table–align-right”>< /table>
Lo que daría como resultado:
# A tibble: 21 × 2
`` PTS
<chr> <int>
1 1PIAOscar Piastri 198
2 2NORLando Norris 176
3 3VERMax Verstappen 155
4 4RUSGeorge Russell 136
5 5LECCharles Leclerc 104
6 6HAMLewis Hamilton 79
7 7ANTKimi Antonelli 63
8 8ALBAlexander Albon 42
9 9OCOEsteban Ocon 22
10 10HADIsack Hadjar 21
# ℹ 11 more rows
En este proceso se puede observar que:
En los primeros años de la programación se utilizaban lenguajes como PHP o C, los cuales para el análisis de datos eran (y son) engorrosos para llevar a cabo tareas determinadas. Frente a este conflicto Guido Van Rossum quizo facilitar el análisis de datos con un lenguaje de programación sencillo para el usuario promedio. Este ha logrado ser uno de los más utilizados en la actualidad e incluso ha logrado una gran versatilidad de temas como Machine Learning o Creación de Aplicaciones.
Algunos paquetes que son fundamentales para la recopilación de datos son:
csv (Comma Separated Values)
bs4 (BeautifulSoup)
os