Herramientas de extracción de datos: para principiantes y profesionales
Para trabajar con datos, lo esencial es disponer de datos. A veces esa información se encuentra estructurada y, en otras ocasiones, está desestructurada. Hoy en día existen numerosas herramientas o procesos por los cuáles un desarrollador puede extraer datos de formatos complejos como un PDF o bien de una o varias páginas web, lo que se conoce como web scraping. El objetivo es tener los datos para poder visualizar y entender.
Web scraping se podría definir como la técnica por la que un equipo de desarrolladores es capaz de rascar, escrapear o liberar datos de páginas web de gobiernos, instituciones públicas u organizaciones para acceder a datos privados o públicos que puedan ser publicados o distribuidos en formato abierto. El problema es que la mayoría de los datos de interés están en formatos no reutilizables y poco transparentes como un PDF, por ejemplo.
Para acceder y distribuir este tipo de información existe una gran cantidad de herramientas o procesos mediante el uso de lenguajes de programación. Esta es una guía de uso de los principales métodos de extracción de datos.
Herramientas de web scraping (rascado de datos)
● Fórmula ImportHTML
Dentro de las aplicaciones de Google, el gran buscador desarrolló su propio Excel llamado Google Spreadsheet (las hojas de cálculo de Google). Esta herramienta dispone de casi todas las características de Microsoft Excel, pero además dispone de algunas funcionalidades añadidas gracias al contenido indexado en internet por el buscador: lectura de feeds RSS, cambios en páginas web o extracción de datos.
Todo esto es posible mediante el uso de fórmulas como ImportFeed, ImportHTML e ImportXML. Con la segunda de ellas, cualquier usuario puede extraer datos de tablas o listados de forma ordenada desde cualquier página web. Dependiendo de si es una tabla o una lista, el tipo de fórmula varia en uno de sus elementos. Dos ejemplos prácticos:
=ImportHTML(“url página web”, “table”, 2)
=ImportHTML(“url página web”, “list”, 2)
Cualquiera de estas fórmulas colocadas en la primera celda de Google Spreadsheet permite extraer la segunda tabla o lista de la url que el usuario coloque dentro de las dobles comillas. Es muy sencillo.
Table Capture es una extensión para el navegador Chrome, que proporciona a un usuario los datos de una web sin excesivos problemas. Saca la información contenida en una tabla en HTML de una página web a cualquier formato de tratamiento de datos como Google Spreadsheet, Excel o CSV. Algo similar a la fórmula ImportHTML.
ScraperWiki es una herramienta perfecta para la extracción de datos dispuestos en tablas en un PDF. Es tan sencillo como cargar el archivo y exportar. Si el PDF tiene varias páginas y numerosas tablas, ScraperWiki ofrece una vista previa con todas las páginas y las distintas tablas y la posibilidad de descargar los datos de forma ordenada y separada.
Con ScraperWiki también se pueden limpiar los datos antes de ser exportados a un archivo Microsoft Excel. Esto es interesante porque, al añadir esos datos limpios a una herramienta de visualización, todo es más sencillo.
Tabula es una aplicación de escritorio para equipos Windows, Mac OSX y Linux, que proporciona a los desarrolladores e investigadores un método sencillo de extracción de datos desde un PDF a un archivo en formato CSV o Microsoft Excel para su modificación y visualización. Tabula es una herramienta muy utilizada en el periodismo de datos.
Los pasos a seguir para utilizar Tabula:
– Cargar un PDF con la tabla de datos que se quiere exportar.
– Seleccionar la tabla con toda la información.
– Seleccionar la opción de ‘Vista previa y extracción de datos’. Tabula escrapea los datos de la tabla y ofrece al usuario una vista previa de la información extraída para su comprobación.
– Pulsar el botón de ‘Exportar’.
– Los datos se exportan a un archivo Microsoft Excel o bien un archivo LibreOffice si no disponemos de Microsoft Office.
Import.io es una herramienta online gratuita, aunque también dispone de una versión de pago para empresas. Facilita la extracción estructurada de datos y su descarga en formato CSV o bien generar una API con la información. Los datos de la API se actualizan a medida que la información se modifica en el entorno de origen.
Import.io dispone de una aplicación de escritorio que cualquier usuario se puede descargar en su máquina Windows, Mac OSX o Linux. En esta aplicación, Import.io ofrece varios métodos de extracción de datos muy distintos: información contenida en una url, información en lenguaje HTML o XML, imágenes, valores numéricos, mapas… De todo.
Extracción de datos con Python
En BBVAOpen4U ya hemos visto qué es y cómo funciona Python para el desarrollo de proyectos digitales o el uso de librerías para visualización de datos, pero es la primera vez que se menciona una de sus funcionalidades más interesantes y profesionales: la extracción de datos no estructurados. También existen numerosas librerías en este lenguaje para el acceso a datos.
BeautifulSoup es una librería en Python que sirve para la extracción sencilla de datos concretos de una página web en HTML sin excesiva programación. Es lo que técnicamente recibe el nombre de parsear HTML. Una de las ventajas de esta biblioteca en Python es que todos los documentos salientes de la extracción de datos lo hacen en UTF-8, lo cual es bastante interesante porque el problema típico de las codificaciones queda totalmente resuelto.
Otras de las características potentes de BeautifulSoup es que utiliza analizadores de Python como lxml o html5lib, que permiten rastrear páginas web con estructura de árbol. Gracias a ellos, se puede recorrer cada ‘habitación’ de una web, abrirla, extraer su información e imprimirla.
Scrapy es un marco de desarrollo de código abierto para la extracción de datos con Python. Este framework permite a los desarrolladores la programación de arañas que sirven para rastrear y extraer información concreta de una o varias páginas web a la vez. El mecanismo que utiliza recibe el nombre de selectores, aunque también se pueden utilizar librerías en Python como BeautifulSoup o lxml.
Banco Bilbao Vizcaya Argentaria, S.A. titular de este portal utiliza cookies y/o tecnologías similares propias y de terceros para fines técnicos, de personalización, analíticos, de publicidad comportamental o publicidad relacionada con tus preferencias sobre la base de un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas). Si deseas obtener información más detallada, consulta nuestra Política de Cookies.
Panel de configuración de cookies
Este es el configurador avanzado de cookies propias y de terceros. Aquí puedes modificar parámetros que afectarán directamente a tu experiencia de navegación en esta web.
Cookies técnicas (necesarias)
Estas cookies son importantes para darte acceso seguro a zonas con información personal o para reconocerte cuando inicias sesión.
Denominación
Titular
Duración
Finalidad
gobp.lang
BBVA
1 mes
Preferencia de idioma
aceptarCookies
BBVA
1 año
Configuración Cookies aceptadas
_abck
BBVA
1 año
Ayuda a protegerse contra los ataques de sitios web maliciosos
bm_sz
BBVA
4 horas
Ayuda a protegerse contra los ataques de sitios web maliciosos
ADRUM_BTs
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
xt_0d95e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
wpml_browser_redirect_test
WPML
Sesión
Traducción de textos del portal
wp-wpml_current_language
WPML
24 horas
Traducción de textos del portal
Cookies de Analítica
Permiten medir, de forma anónima, el número de visitas o la actividad. Gracias a ellas podemos mejorar constantemente tu experiencia de navegación.
Dispones de una mejora continua en la experiencia de navegación.
Con tu selección no podemos ofrecerte una mejora continua en la experiencia de navegación.
Denominación
Titular
Duración
Finalidad
AMCV_***
Adobe Analytics
Sesión
ID de visitante único que se usan en las soluciones de Marketing Cloud
AMCVS_***
Adobe Analytics
2 años
ID de visitante único que se usan en las soluciones de Marketing Cloud
demdex (safari)
Adobe Analytics
180 días
Crear y almacenar identificadores únicos y persistentes
sessionID
Adobe Analytics
Sesión
Cookie interna de Launch usada para identificar al usuario
gpv_URL
Adobe Analytics
Sesión
plugin Adobe Analytics: getPreviousValue Capturar el valor de una determinada variable en la siguiente vista de página, en este caso la prop1
gpv_level1
Adobe Analytics
Sesión
Cookie utilizada para almacenar el levl1 del DataLayer de la página anterior.
gpv_pageIntent
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pageIntent de la página anterior.
gpv_pageName
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pagename de la página anterior.
aocs
Adobe Analytics
Sesión
Cookie que almacena los primeros valores recogidos al inicio de un proceso.
TTC
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento App Page Visit y App Completed.
TTCL
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento LogIn y App Completed.
s_cc
Adobe Analytics
Sesión
Determinar si las cookies están activas
s_hc
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_ht
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_nr
Adobe Analytics
2 años
Determinar el número de visitas de usuario
s_ppv
Adobe Analytics
Persistente
plugin Adobe Analytics: getPercentPageViewed Determinar el procentaje de página que visualiza un usuario
s_sq
Adobe Analytics
Sesión
Funcionalidades ClickMap/ActivityMap
s_tp
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_visit
Adobe Analytics
2 años
Cookie usada por Adobe para saber cunado una sesión se ha iniciado.
Cookies de Publicidad
Permiten que la publicidad que te mostramos sea personalizada y relevante para ti. Gracias a estas cookies no verás anuncios que no te interesen.
Dispones de una publicidad adaptada a ti y a tus preferencias.
Con tu selección pierdes la personalización de la publicidad, solo verás anuncios genéricos.
Denominación
Titular
Duración
Finalidad
OT2
VersaTag
90 días
Cookie de VersaTag usada para almacenar un id de usuario y el numero de visitas del usuario.
u2
VersaTag
90 días
Cookie de VersaTag en la que se almacena el ID del usuario
TargetingInfo 2
MediaMind
1 año
Cookie que sirve para asignar un número unico random que genera MediaMind.
Cookies de Personalización
Estas cookies están relacionadas con características generales como, por ejemplo, el navegador que utilizas.
Dispones de una experiencia y contenidos personalizados.
Con tu selección no podemos ofrecerte una navegación y contenidos personalizados.
Denominación
Titular
Duración
Finalidad
mbox
Adobe Target
9 días
Cookie usada por Adobe Target para hacer test de personalizacion de experencia del usuario.
Parece que estás navegando desde MéxicoEspañaArgentinaPerúColombiaBélgicaChileEEUUFranciaHong KongItaliaPortugalReino UnidoTurquíaUruguayVenezuelaAlemania, así que vamos a mostrarte el contenido personalizado para tu localización. Cambiar
Selecciona el país
Para poder acceder al área privada y sandbox correspondiente, selecciona el país de las APIs que quieres utilizar.
Preferencias de Navegación
Elige el país del que quieres que te mostremos su contenido por defecto.