| name | adaptive-web-scraping |
| version | 1.0.0 |
| description | Scraping web adaptativo con Scrapling — framework que maneja todo desde una sola request, con detección de cambios, anti-bot bypass y auto-matching. Inspirado en D4Vinci/Scrapling (⭐68K). |
| tags | ["scraping","web","adaptive","anti-bot","scraping","python"] |
Scraping Web Adaptativo
Resumen
Scrapling (⭐68K) es un framework de web scraping adaptativo que maneja todo desde una sola request: detección de cambios en selectores, anti-bot bypass, auto-matching de elementos, y recuperación automática cuando la web cambia.
Cuándo usar
- Scrapear sitios que cambian de estructura frecuentemente
- Bypass de anti-bot (Cloudflare, reCAPTCHA)
- Scraping robusto que no se rompe cuando cambia el HTML
- Extracción de datos con auto-recuperación
Patrón de uso
from scrapling import Fetcher, StealthFetcher
fetcher = Fetcher()
page = fetcher.get("https://example.com")
title = page.css_first("h1::text")
stealth = StealthFetcher()
page = stealth.fetch("https://protected-site.com")
products = page.css_all(".product-card")
for product in products:
name = product.css_first(".name::text")
price = product.css_first(".price::text")
print(f"{name}: {price}")
Features clave
| Feature | Descripción |
|---|
| Adaptive matching | Si un selector cambia, busca elemento similar automáticamente |
| Anti-bot bypass | StealthFetcher con fingerprinting real de navegador |
| Auto-recovery | Recuperación automática cuando la web cambia estructura |
| Single request | Todo desde una request, sin necesidad de configuración compleja |
| CSS + XPath | Soporta ambos tipos de selectores |
Pitfalls
- StealthFetcher: Requiere Playwright. Más lento pero bypassa anti-bot.
- Rate limiting: Respetar rate limits del sitio. Scrapling no lo hace automáticamente.
- Memory: Páginas grandes consumen memoria. Usar
stream=True para HTML grande.
- Legal: Verificar ToS del sitio antes de scrapear. Algunos sitios prohíben scraping.
Referencias
Hecho con ❤️ por David Antizar