Transcript
00:00:00Esto es Scrapling, un scraper de Python que intenta solucionar la peor parte del web scraping.
00:00:05El scraper funciona hoy, pero se rompe en cuanto el sitio cambia. Una clase renombrada,
00:00:10un div movido, una verificación de bot, y ahora tu canalización de datos está muerta. La promesa de Scrapling es que
00:00:17tu scraper puede adaptarse en lugar de venirse abajo. Tiene más de 53,000 estrellas en GitHub,
00:00:22y es compatible con análisis adaptativo, obtención sigilosa y flujos de trabajo de rastreo mayores.
00:00:27Voy a probar la única pregunta que realmente importa.
00:00:30¿Puede sobrevivir a un cambio de sitio web sin reescribir selectores? Estamos a punto de descubrirlo.
00:00:40Entonces, ¿qué es Scrapling? Scrapling es un framework de web scraping para Python todo en uno y adaptativo.
00:00:46Obtienes un analizador autorreparable, obtenedores sigilosos, obtención basada en navegador cuando se requiere JavaScript,
00:00:51y un framework de spider para rastreos más grandes. Una instalación, una API. Eso significa menos scrapers
00:00:57rotos y más datos utilizables de vuelta. Ahora, veamos la parte que realmente importa.
00:01:03Si disfrutas programando herramientas para acelerar tu flujo de trabajo, asegúrate de suscribirte. Tenemos videos saliendo todo
00:01:08el tiempo. Ahora, aquí tengo una configuración básica, ¿verdad? Ya he instalado Scrapling, así que mantendremos esto
00:01:13rápido. Una importación y una llamada es todo lo que necesitamos para obtener la página. Aquí arriba, hice algo de HTML que cambia.
00:01:21Uno es como un sitio de inicio genérico. Luego mantuve lo mismo, pero cambié los selectores CSS.
00:01:27Digamos que quiero el nombre del producto y el precio. Ahora, normalmente podría obtenerlos con selectores CSS,
00:01:34¿verdad? Así que en el CSS de la página, pongo mi selector, auto-save, true. Puedo hacer eso y
00:01:40va a funcionar y obtendremos un diccionario de datos de vuelta. Se ve normal. Dos selectores, un diccionario,
00:01:46y sigo adelante. Eso es todo. Pero, al mismo tiempo, eso es realmente el problema porque un scraper normal funciona
00:01:52genial hasta que esa página cambia. Ahora, ¿qué pasa si el sitio cambia aleatoriamente durante la noche? Lo rediseñan,
00:01:58hacen algo para evitar esto. Así que el título del producto se convierte en encabezado del artículo o el precio del producto se convierte en
00:02:04valor de precio. Tiene los mismos datos en la página, pero todo el DOM cambia. Los selectores antiguos deberían
00:02:11estar muertos. Y aquí es donde la mayoría de los scrapers simplemente se rompen. Pero ahora podemos activar el modo adaptativo.
00:02:18Un cambio: autosave equals true se convierte en adaptive equals true. Así que ahora puedo seguir poniendo el título del producto
00:02:26con adaptive establecido en true. Los mismos datos. No cambié los selectores. Es una estructura de página diferente sin
00:02:34la reescritura de selectores. Esa es la idea principal aquí. Ahora, cuando escrapeas un elemento con autosave true,
00:02:40Scrapling registra pistas sobre él. Así que va a registrar cosas como la etiqueta, atributos,
00:02:44padres e hijos, cualquier texto vecino, probablemente la posición en el DOM y la forma estructural. Entonces, cuando un
00:02:50nombre de clase cambia, Scrapling todavía tiene pistas. No necesita que todo el sitio siga siendo el mismo.
00:02:56Solo necesita suficiente señal estructural para reconocer el elemento de nuevo. Y esa es la
00:03:01parte que importa, porque los fallos reales de los scrapers casi nunca son un rediseño total. Es una clase renombrada,
00:03:06un nuevo contenedor, un diseño desplazado, una pequeña cosa. Eso es exactamente para lo que está hecha la coincidencia adaptativa.
00:03:13Scrapling tiene tres grandes piezas que realmente importan. La primera es el analizador adaptativo, lo que acabas de ver.
00:03:18Luego está el buscador múltiple, un flujo de trabajo, la herramienta adecuada para el trabajo. El buscador opta por HTTP plano,
00:03:25rápido para páginas web simples. El buscador sigiloso puede evitar bots cuando es necesario. El buscador dinámico es un
00:03:32navegador real para sitios pesados en JS. Una API, intercambias el buscador, mantienes el código. El framework de spider es cuando los
00:03:39scripts rápidos se convierten en un crawler real. Rastreo asíncrono, pausa y reanudación, rotación de proxies, streaming y todas esas
00:03:46sesiones mixtas. Las cosas que usualmente añades después, ya están ahí. Scrapling no es solo otro
00:03:53analizador. Reemplaza la pila de scraping. Requests, Beautiful Soup, Playwright, lógica de reintento, asistentes de proxy,
00:04:00código de spider, todo con un solo flujo de trabajo. Scrapling no está diciendo que Beautiful Soup sea inútil y tampoco está diciendo
00:04:06que Playwright o Scrapy estén muertos. Beautiful Soup más Requests sigue siendo genial para páginas simples. Es fácil,
00:04:13es legible y todos lo entienden, pero no te da ningún tipo de sigilo. No te da
00:04:20selectores adaptativos y no renderiza JavaScript. Y para trabajos de análisis más grandes, puede
00:04:26convertirse en el cuello de botella real. Ahora, Scrapy es poderoso. Si estás construyendo una infraestructura de rastreo
00:04:31seria, Scrapy aún merece algo de respeto, pero Scrapy a menudo significa configuraciones, pipelines, middleware,
00:04:36extensiones y mucha más configuración. Playwright y Selenium son geniales cuando necesitas un navegador real.
00:04:42A veces la página solo necesita JavaScript. No hay forma de evitar eso. Pero los navegadores son pesados. Son
00:04:48más lentos que HTTP puro y usan más memoria. Y, de nuevo, todavía no solucionan el problema de los selectores
00:04:54rotos. Ejecutan la página. No entienden lo que tu scraper pretendía extraer. Así que con Scrapling,
00:05:01puedes usar obtención rápida cuando puedas, sigilo cuando lo necesites, renderizado de navegador cuando la página
00:05:06lo requiera y análisis adaptativo. Así que un pequeño cambio en el frontend no hace explotar todo. Ahora, todo esto
00:05:12no significa que Scrapling no tenga problemas, ¿verdad? Si estás tratando con protección de nivel DataDome,
00:05:17huellas dactilares avanzadas o límites de tasa agresivos, es posible que aún necesites buenos proxies. Así que Scrapling puede
00:05:23ayudar, pero no te hace invisible. La obtención dinámica también puede significar configuración adicional del navegador. Ese es
00:05:29simplemente el compromiso cuando se involucra el renderizado de JavaScript. Aquí hay algo en lo que pensar sobre todo esto.
00:05:34Vale la pena probar Scrapling si haces trabajo de scraping real, especialmente si estás construyendo canales de datos,
00:05:41tienes trabajos RAG, agentes de IA o cualquier cosa que deba seguir funcionando después de que el sitio objetivo cambie. La
00:05:47razón más fuerte para usarlo no es que haga posible el scraping. Ya tenemos herramientas que pueden
00:05:53hacer eso, ¿verdad? La razón más fuerte es que reduce el mantenimiento. Ahora, probablemente yo
00:05:59simplemente lo omitiría si tienes un script realmente pequeño, ¿verdad? Requests y Beautiful Soup harán el truco,
00:06:04¿verdad? Si disfrutas de herramientas de programación como esta, asegúrate de suscribirte al canal BetterStack. Nos vemos en otro video.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video