Inicio > Tecnologías digitales > IA y big data > Web scraping: cómo recuperar automáticamente datos de la web

Web scraping: cómo recuperar automáticamente datos de la web

Publicado el 4 de julio de 2023
Compartir esta página :

El web scraping le permite recopilar automáticamente datos de la web para obtener inteligencia competitiva, generación de leads, desarrollo de estrategias de marketing y ventas, y más. Aún falta saber qué herramientas utilizar y qué marco legal rige esta práctica. Te lo explicamos todo. 

Artículo de raspado web de ilustración

La web es una fuente invaluable de datos. ¿Qué pasaría si pudieras explotar esta riqueza de información de forma gratuita? Esto es lo que ofrece el “web scraping”, una técnica eficaz para la recopilación rápida y automatizada de datos web. No más copiar y pegar a mano. Muchas herramientas realizan automáticamente esta tarea y procesan miles de datos en unos pocos segundos. Cada solución tiene sus fortalezas y debilidades. Algunos requieren saber codificar, otros no.

De qué sirve ? Para quien ?

Los sectores que más utilizan el web scraping son los que manejan muchos datos: comercio electrónico, finanzas, redes sociales, inmobiliario, prensa, ciencia, etc. En estos sectores, las profesiones que más lo utilizan son marketing, finanzas. , RRHH, especialistas en SEO y científicos de datos.

Una vez recopilados los datos, las empresas pueden utilizarlos para impulsar su inteligencia competitiva o enriquecer su propia base de datos a bajo costo. Éstos son sus principales usos:

  • Monitorear precios y disponibilidad de productos y servicios. con el fin de realizar inteligencia competitiva o analizar tendencias del mercado.
  • Generar cables recuperando automáticamente los nombres, nombres, puestos y datos de contacto de los profesionales de LinkedIn, Twitter, Google Maps, Indeed, etc.
  • Optimizar el SEO de un sitio: supervisar su clasificación en los resultados de búsqueda y su posicionamiento frente a sus competidores.
  • Analizar el sentimiento en línea navegando por opiniones y comentarios de clientes en las redes sociales.
  • Comprobar enlaces automáticamente. Esto es particularmente útil en una estrategia de afiliados para garantizar que los enlaces no estén rotos ni queden obsoletos.
  • Monitorear ofertas de trabajo o recopilar información sobre candidatos potenciales desde sitios de trabajo o redes sociales
  • Construyendo conjuntos de datos entrenar una IA
  • Compruebe si hay violaciones de derechos de autor (plagio de imágenes o textos)
  • Recopilar información sobre un tema específico.. Por ejemplo, realizar una revisión de prensa automática de artículos e innovaciones en la producción de baterías.

Como funciona ?

El web scraping utiliza un scraper, una herramienta de software que extrae información de sitios web. El raspador interactúa con los sitios como lo haría un navegador operado por un humano. Pero en lugar de mostrar la información, la recopila y la guarda para su posterior análisis. Este proceso consta de cuatro pasos:

  1. solicitud HTTP : el raspador envía una solicitud a la URL de destino para obtener el contenido de una página.
  2. análisis de código HTML : el raspador identifica los elementos que conciernen a los datos buscados.
  3. extracción de datos : los datos se extraen mediante selectores como XPath, CSS o expresiones regulares (regex).
  4. almacenamiento de datos: la información se registra en formatos que se pueden utilizar para el análisis (Excel, CSV, JSON, etc.).

¿Cómo hacer web scraping?

Para desarrolladores

Los desarrolladores son los maestros del scraping. Gracias a los lenguajes de programación asociados a frameworks y bibliotecas especializadas en extracción de datos, pueden crear scrapers perfectamente adaptados al sitio web de destino y a los datos que se van a extraer. Eficiencia, escalabilidad y mantenibilidad son sus palabras clave.

¿Qué idioma favorecer? Si JavaScript (Node.js), Ruby, C, C++, R o PHP permiten el web scraping, Python se ha establecido en gran medida sus últimos años gracias a dos herramientas, BeautifulSoup (una biblioteca) y Scrapy (un framework).  

Fácil de aprender, rápido y portátil (Linux, Windows, macOS y BSD), Python y sus dos complementos te permitirán realizar cualquier proyecto de web scraping.

A continuación se muestra un ejemplo de un programa Python que utiliza la biblioteca BeautifulSoup para recuperar todos los precios de las afeitadoras eléctricas en las páginas de Amazon.fr.

web scraping con Python y hermosa sopa

Para no desarrolladores

Si bien los desarrolladores siempre tienen la ventaja de crear las herramientas de web scraping más eficientes y que mejor se adapten a las necesidades de sus usuarios, ya no tienen el monopolio sobre ellas. Entonces, Los profesionales que no son de TI, ya sea que trabajen en marketing, finanzas o recursos humanos, utilizan cada vez más el web scraping, pero sin codificación. Para ello utilizan herramientas sin código que han aparecido en los últimos años. Aquí hay algunos.

Extensiones del navegador

Este es el método más sencillo para abordar el web scraping sin codificación: instale una extensión en su navegador web. Gratuitos y fáciles de usar, todos estos complementos funcionan de la misma manera: una vez en el sitio de destino, selecciona los elementos que desea recuperar (texto, imágenes, URL, etc.), la frecuencia (una vez por hora, por día o semana, por ejemplo) y la extensión se encarga del resto. Entre los más conocidos se encuentran Web Scraper, Simplescraper, Scraper, Agenty o Instant Data Scraper.  

La extensión Web Scraper para Chrome y Firefox
La extensión Web Scraper permite elegir los elementos a recuperar (nombre del producto, precio, imagen, etc.) mediante una simple selección con el ratón.

Plataformas de raspado web

Otra solución que no requiere conocimientos de programación: pasar por una de las muchas plataformas que ofrecen servicios de web scraping como Octoparse, Bright Data, Parsehub o PhantomBuster. Estas herramientas permiten, previa suscripción, recopilar datos de la web, pero también de plataformas sociales como Facebook, Instagram, Twitter, YouTube, etc. Podrás recuperar información sobre hashtags, menciones, comentarios y me gusta. Estos datos se pueden utilizar para analizar las tendencias y el rendimiento de las campañas de marketing.

Raspar un sitio de moda con PArseHub

El uso de una plataforma de web scraping, en este caso ParseHub, permite seleccionar los datos a tratar (en este caso, las categorías de ropa de un sitio de comercio electrónico), extraerlos e interpretarlos. La siguiente tabla analiza los precios promedio por categoría de producto y fabricante.

Estructura de precios con ParseHub

La gran ventaja de estas plataformas es ofrecer soluciones sin código, operando en la nube 24 horas al día, 7 días a la semana.. Por lo tanto, puede programar los raspadores para obtener los datos en un flujo continuo o en intervalos flexibles. Otra ventaja: puede elegir entre decenas de modelos de rascadores listos para usar., capaz de apuntar a los sitios y plataformas más populares con solo unos pocos clics. Finalmente, Estas plataformas en la nube eluden muchas de las protecciones implementadas por los sitios web para protegerse contra el web scraping. : Rotación de IP, captchas, proxies, desplazamiento infinito…

Las aplicaciones análisis de los datos

hojas de Google, Energía BI, sobresalir… las hojas de cálculo y las aplicaciones de visualización de datos permiten extraer datos de la web con mayor o menor facilidad.

A veces necesitarás utilizar funciones específicas. Este es el caso de Google Sheets que cuenta con funciones especializadas: IMPORTXML e IMPORTHTML. Aún necesitas comprender la estructura de una página HTML para formalizar correctamente la fórmula y lograr tus objetivos.

Excel, Microsoft 365 y Power BI cuentan con módulos especializados en extracción de datos que son más fáciles de implementar. Así, Excel utiliza el módulo Power Query (desde Excel 2010) o un módulo de consulta web desde el menú Datos. Por su parte, Microsoft 365 se beneficia del poder de su módulo de automatización Power Automate. Aún del mismo editor, la solución de análisis de datos Power BI incluye web scraping en su menú Obtener datos. Todos estos asistentes ofrecen automáticamente recuperar las tablas presentes en las páginas web de destino, pero es posible definir otras fuentes de datos.

Raspado web con Microsoft Power Query
Power BI recupera fácilmente datos de la web y los muestra en tablas y gráficos. ©Microsoft

El auge de la IA

La democratización de la inteligencia artificial, particularmente la IA generativa como ChatGPT, Bing Conversation o Bard, cambia las reglas del juego. Gracias a este tipo de IA, es fácil recuperar información de la web o de archivos PDF de forma extremadamente rápida. Sin embargo, estas IA tienen la desventaja de ser generales y no poder exportar fácilmente datos en formatos estructurados.

Para ello es necesario recurrir a IA especializada en web scraping como Scrapestorm, kadoa.com, Nimbleway API o Browse.ai. Soluciones desde unos veinte euros al mes.

Con una IA así, no es necesario programar. Simplemente defina los datos a extraer (precios, por ejemplo), una o más fuentes de datos (uno o más sitios web) y especifique la frecuencia de recuperación de los datos (cada semana, por ejemplo).

La IA se encarga de todo lo demás: crea un programa configurado según tus elecciones, extrae los datos y te los transmite en el formato que hayas definido (Excel, CSV, JSON, etc.).  

Además de su facilidad de uso, eficiencia y velocidad, estas IA de web scraping son capaces de reconocer y recuperar cualquier tipo de datos (texto, imágenes, videos, enlaces, otros archivos). Además, no están bloqueados por páginas dinámicas ni por las herramientas de seguridad habituales implementadas por sitios específicos, como captchas o bloqueo de direcciones IP.

¿Cuáles son los límites del web scraping?

El web scraping contribuye en gran medida a la proliferación de bots, estos robots de software que rastrean la web en busca de datos. Incluso se está convirtiendo en una especie invasora. Así, un estudio de la empresa estadounidense de ciberseguridad Imperva revela que Los bots representaron 47 % de tráfico de Internet en 2022 !

Límites técnicos

Entre todos estos robots, hay programas maliciosos pero también robots de web scraping que sobreexplotan los servidores a los que apuntan. Multiplican las solicitudes, reduciendo así su rendimiento, llegando a veces incluso a bloquearlas. ¡Una pesadilla para cualquier administrador de sistemas!

Otra consecuencia desafortunada, esta vez para el marketing: este tráfico no humano distorsiona las mediciones de audiencia de los sitios web específicos y, por tanto, compromete la estrategia de marketing digital de la empresa.

Sin embargo, la defensa se está organizando. Para protegerse de esta invasión, cada vez más sitios utilizan diferentes Soluciones técnicas para prohibir bots. : captcha puzzles para pedir a los usuarios que demuestren que son humanos, prohibición de direcciones IP, limitación automática del número de solicitudes procedentes de una misma IP, etc.

Otra solución es complicar y cambiar periódicamente la estructura de las páginas que se muestran:

  • cambiar la arquitectura de la URL (cambiar el orden de los parámetros),
  • editar código HTML (cambiar nombres e ID de clases, cambiar el orden de los elementos DOM)
  • rotación de plantillas (si su sitio tiene un CMS, puede crear varias plantillas de página y rotarlas)
  • ofuscar el código (minificación, ofuscación de nombres de variables y funciones, carga de contenido con JavaScript, codificación de datos)
  • alternar la estructura de datos (CSV, JSON, etc.)
  • cambie la estructura de la API si su sitio ofrece una

Con todos estos cambios, el código o la configuración de la solución de scraping deberán actualizarse para adaptarse, lo que reducirá su efectividad y su valor.

Límites legales   

Como cualquier técnica de recogida de datos, el scraping está sujeto a la normativa francesa y europea, pero también a las condiciones generales de uso (CGU) específicas de cada sitio web.

Por tanto, el uso del web scraping está sujeto a tres condiciones:

1. Respete los términos y condiciones del sitio de origen de datos

En sus términos y condiciones, LinkedIn prohíbe formalmente el web scraping:  

“Usted acepta no desarrollar, respaldar ni utilizar ningún software, dispositivo, script, robot o cualquier otro medio o proceso (incluidos arañas, complementos y complementos del navegador, o cualquier otra tecnología) destinado a raspar los Servicios o de otra manera copiar perfiles y otros datos de los Servicios”

La violación de estos TyC expone al infractor a sanciones. Ir más allá de esto es peligroso, especialmente porque cada vez más plataformas grandes implementan herramientas de detección de web scraping.  

2. Cumplir con el RGPD

Además de respetar los T&C, el web scraper debe respetar RGPD, aplicable a cualquier tratamiento de datos. miEn caso de incumplimiento, el importe de las sanciones puede ser de hasta 20 millones de euros o, en el caso de una empresa, de hasta 4% de la facturación anual global..

3. Respetar los derechos de autor

Las bases de datos están protegidas por los derechos de autor y por un derecho sui generis (por derecho propio) que protege a su productor (artículos L. 112-3 y L. 341-1 del código de propiedad intelectual). Las penas máximas que se imponen en caso de infracción son una multa de 300.000 euros y 3 años de prisión..

Así, la justicia falló a favor el 2 de febrero de 2021 del sitio Leboncoin.fr cuyos anuncios inmobiliarios fueron objeto de extracción de datos por parte de un sitio competidor.

Además del marco legal, se deben respetar ciertas buenas prácticas:

  • Practique el web scraping fuera de las horas pico del sitio, cuando los servidores están más disponibles;
  • Limite los datos recuperados a lo que realmente necesita ;
  • Utilice API y otros medios (conjuntos de datos, etc.) ofrecidos por el sitio de destino. para evitar recurrir al web scraping.

El web scraping requiere actualizar periódicamente tus habilidades

A pesar de sus desafíos técnicos y legales, el web scraping sigue siendo popular. Es una gran herramienta para recopilar datos automáticamente. ORSYS ofrece numerosos cursos de formación presenciales o a distancia para utilizar alguna de las soluciones que te hemos presentado.

Desarrolladores y científicos de datos (analista de datos, ingeniero de datos, etc.) podrán formarse en big data, utilizando librerías Python especializadas en web scraping (scrapy, BeautifulSoup, Selenium, etc.).

También ofrecemos formación para aprender a limpiar y manipular los datos recopilados.

Desarrolladores web, CISO y administradores de sistemas Puede estar interesado en nuestra capacitación en seguridad de sitios web para evitar el web scraping y el robo de datos.  

CIO, DCORREOS. y abogados Podrás seguir nuestros cursos de formación para dominar las cuestiones legales del RGPD.

Finalmente, los no informáticos Aquellos que deseen beneficiarse del web scraping en su uso profesional pueden recurrir a nuestros cursos de formación de Excel, Google Sheets o Power BI.

Cada uno encontrará su cuenta.

Nuestro experto

Consejo editorial de ORSYS

Formado por periodistas especializados en informática, gestión y desarrollo personal, el equipo editorial de ORSYS Le mag [...].

dominio asociado

Big data, inteligencia artificial

formación asociada

Fundación Selenio A4Q, certificación

Big data, métodos prácticos y soluciones para el análisis de datos.

Aprendizaje automático, el estado del arte