Datascience y Web Scrapping de datos públicos con Python
En este artículo, exploraremos un código Python que realiza Web Scrapping de datos del sitio web de FIRJAN (Federación de Industrias del Estado de Río de Janeiro) e inserta estos datos en una base de datos. El código se divide en pasos, desde importar las bibliotecas necesarias hasta insertar los datos en la base de datos. Sigamos cada paso en detalle.
¿Qué es Web Scrapping?
Web Scrapping es una técnica utilizada para extraer datos de sitios web de forma automatizada. En este caso utilizaremos Web Scrapping para obtener información sobre el IFGF (Índice FIRJAN de Gestión Fiscal) de diferentes municipios. Luego de extraer los datos, los almacenaremos en una base de datos para su posterior análisis.
Paso 1: Importando Bibliotecas
El primer paso consiste en importar las librerías necesarias para nuestro proyecto. Importemos las siguientes bibliotecas:
- Pandas: utilizada para manipulación y análisis de datos;
- Time: utilizada para medir el tiempo de ejecución;
- Psycopg2: utilizado para conexión con bases de datos PostgreSQL;
- MySQL.connector: utilizado para conexión con bases de datos MySQL;
- SQLalchemy: utilizado para crear la conexión con la base de datos;
- Urllib: utilizado para la descarga de archivos.
Paso 2: Download de datos
El segundo paso consiste en descargar los datos de la página web de FIRJAN. Usaremos la biblioteca urllib para descargar. Se descargará un archivo Excel que contiene datos relacionados con el IFGF.
Paso 3: Preanálisis de datos
Luego de descargar los datos, realizaremos un preanálisis para comprender su estructura y formatearlos según nuestras necesidades. En este paso, separaremos las pestañas del archivo, filtraremos los datos para el estado de Pará y reemplazaremos los espacios con guiones bajos en el encabezado, además de eliminar las letras mayúsculas.
Paso 4: Tratamiento de datos
En este paso, procesaremos los datos para que sean adecuados para su inserción en la base de datos. Trataremos los valores nulos, reemplazándolos con cero y ajustaremos la escritura de la columna usando la biblioteca pandas. Realizaremos estas operaciones en cada tabla por separado.
Paso 5: Ajuste en el tipado de los datos
Ahora, ajustaremos la tipificación de datos en una tabla específica llamada "general". Usaremos la función de fusión para fusionar las columnas seleccionadas en filas. Después de esta transformación, eliminaremos el prefijo "ifgf_" de los nombres de las columnas.
Paso 6: Inserción en la base de datos
El último paso consiste en insertar los datos procesados en la base de datos. En este ejemplo, estamos utilizando una base de datos PostgreSQL. Primero, creamos la conexión a la base de datos utilizando la información de autenticación correcta. A continuación, insertamos los datos en la tabla "firjan_ifgf" del esquema "economía".
Conclusión
En este artículo, exploramos un ejemplo de código Python que realiza Web Scraping de datos del sitio web de FIRJAN e inserta estos datos en una base de datos. El proceso implicó la descarga de datos, el preanálisis, el procesamiento de datos y la inserción en la base de datos. Este enfoque automatizado permite extraer información de forma rápida y eficiente para su posterior análisis. Web Scraping puede ser una técnica valiosa para obtener datos de sitios web y alimentar sistemas de datos o análisis.
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.