Sobre el proyecto

Scrapling es un framework de scraping web adaptable para Python que abarca desde peticiones de una sola página hasta rastreos concurrentes a gran escala. Está diseñado para desarrolladores y scrapers web que necesitan extracción de datos resiliente sin reescribir constantemente los selectores cuando los sitios cambian. Las capacidades principales incluyen: - Análisis adaptable: el parser recuerda las ubicaciones de los elementos y puede reubicarlos tras rediseños del sitio web mediante coincidencia basada en similitud, con opciones como adaptive=True o auto_save=True para una selección CSS resiliente. - Fetchers flexibles: fetchers HTTP que pueden suplantar huellas TLS y cabeceras de navegador, fetchers de automatización de navegador para páginas dinámicas, y un fetcher sigiloso orientado a eludir sistemas anti-bot comunes como Cloudflare Turnstile. Todos los fetchers ofrecen variantes asíncronas y clases de sesión persistente. - Framework completo de spiders: una API similar a Scrapy con start_urls, callbacks parse asíncronos, rastreo concurrente, limitación por dominio, puntos de control de pausa/reanudación, salida de items en streaming, detección de peticiones bloqueadas, limitación automática, soporte de robots.txt y un modo de desarrollo que reproduce respuestas en caché. - Gestión de proxies y sesiones: rotación de proxies integrada, anulaciones de proxy por petición, prevención de fugas de DNS mediante DNS-over-HTTPS y conexión opcional a navegadores remotos vía CDP. - Integraciones de IA y agentes: un servidor MCP permite a asistentes de IA hacer scraping mediante fetches HTTP, dinámicos o sigilosos, con prompts eliminados de las páginas para reducir el riesgo de inyección; una skill de agente ayuda a los agentes de programación a usar la API actual; y page.markdown() produce Markdown limpio listo para LLM/RAG sin un LLM en el bucle. - Experiencia de desarrollo: un shell interactivo basado en IPython, scraping por CLI sin código, navegación DOM enriquecida, generación automática de selectores, exportación integrada a JSON/JSONL/CSV/XML e integración directa con callbacks de Scrapy. El proyecto mantiene type hints completos, comprobación automática de tipos, una imagen Docker con todos los navegadores y cobertura de tests en toda la librería.