Cargando...
¿Qué es el web scraping? ¿Qué se puede obtener con él? ¿Por qué es interesante aplicarlo en tu negocio? ¿Qué beneficios podría aportar? A continuación se muestra un ejemplo real.
El web scraping es la técnica para extraer datos de páginas web mediante programación o software especializado.
Esto se puede lograr con diversas herramientas de low code, utilizando diferentes lenguajes de programación y frameworks diseñados para este propósito.
¿Cómo llevo a cabo el web scraping? Utilizo el lenguaje de programación Python sin ningún framework. Hago uso de la librería «requests» de Python para acceder a las páginas web y de «pandas» para convertir las listas en dataframes.
Con estas 2 librerías y programación se puede empezar ya a extraer información.
A continuación explico cómo se puede obtener la información y ejemplos de utilidad que podrías darle a tu negocio
Se puede obtener, por ejemplo, el listado de productos con su información (título, SKU, precio, descripción, si se puede comprar o no, URL, imágenes) y exportarlo a un archivo Excel, CSV u hojas de cálculo.
Cuando accedes a una página web, el servidor web devuelve contenido HTML, Javascript y CSS. En el contenido HTML está la web maquetada con referencias a las imágenes, con los valores de los formularios, con el código javascript, con los enlaces, videos… está todo lo necesario para “cogerlo” y utilizarlo.
Aquí un ejemplo de una página web y su HTML
La página web vista desde el navegador
El título del producto en HTML
El precio, el ID del producto, la categoría… en HTML
Descripción del producto en HTML
Las imágenes del producto
Hace 4 años escribí este artículo: https://datamanagement.es/2019/10/26/web-scraping-de-empresas-con-etl-en-python-y-powerbi/
Con la explicación anterior, lo más seguro es que tú, como lector, hayas encontrado muchas ideas para poder aplicarlo en tu empresa o que esto te resuelva muchos problemas que hasta ahora has sido incapaz de resolver cómo integrarte con una plataforma sin acceso a una API.
A continuación, doy un par de ideas y estoy seguro de que más de una de ellas podría resolver más de un problema para ti.
Mi cliente utiliza una plataforma web para obtener leads de personas interesadas en realizar una reforma. Hasta ahora, diariamente, ingresaba a la plataforma, revisaba los anuncios y recopilaba manualmente la información para luego insertarla en su CRM.
Dado que la plataforma no cuenta con una API y el acceso a su base de datos no está disponible, se implementó un proceso de web scraping para el cliente. Este proceso se ejecuta tres veces al día y sigue la siguiente metodología:
Mi cliente requería acceder a la información de un ecommerce, del cual no disponía de acceso a la base de datos ni a ninguna API. Sin embargo, contaba con acceso al backoffice de PrestaShop.
El objetivo del proyecto era sencillo: descargar un archivo CSV privado que PrestaShop genera automáticamente tres veces al día. Para lograrlo, debía seguir los siguientes pasos:
Presento esta idea, ya que hasta la fecha no he desarrollado algo para cumplir con este objetivo. El siguiente punto describe cómo se puede lograr la realización de esta tarea.
Mi cliente, quien está dando sus primeros pasos en el mundo del ecommerce, tiene la intención de cargar todo el catálogo de productos de la web https://www.sanganxa.com/ en su propia página web. Dado que no cuenta con una opción de carga masiva, se requiere una solución que permita mantener sincronizada la disponibilidad de compra y los precios de cada producto.
En una primera fase del proceso, se ha desarrollado la descarga de todo el catálogo de productos en un archivo Excel. El objetivo es cargar este catálogo en su backoffice con un solo clic, facilitando así la integración y actualización automática de la información, especialmente en casos de cambios en la disponibilidad o precios en la web de origen.
A continuación unos detalles sobre el proceso desarrollado con Python.
Como se puede observar en el código, el proceso comienza con la descarga de las categorías de productos. Posteriormente, para cada categoría, se procede a la descarga de sus subcategorías y, a su vez, para estas subcategorías se obtiene la lista de productos correspondiente.
Una vez se han recopilado todos los productos, el proceso continúa con la descarga de los detalles individuales de cada producto, tales como el precio, título, videos, descripción, SKU, ID, entre otros. Este enfoque permite obtener una visión completa y detallada de la información de cada producto para su posterior integración en el sistema.
Ejecución del proceso
Debug del proceso y comprobación de qué descarga la info bien
Cuando todo el proceso está completo, el resultado es un archivo Excel que está listo para ser utilizado. Este archivo Excel se convierte en la base sobre la cual se puede desarrollar un proceso ETL (Extract, Transform, Load), web scraping, o cualquier proceso de integración de datos.
Este enfoque permite trabajar de manera eficiente con la información recopilada y facilita su incorporación en los sistemas y herramientas pertinentes.
Con todo lo explicado anteriormente, los beneficios que el web scraping puede aportar a tu negocio se pueden resumir en:
https://www.linkedin.com/in/francrevillent/
Virgen del pilar nº4, ático H
03330 Crevillente (Alicante)
Francisco Rodriguez Alfaro