Web Scraping and OSINT Engine in Rust | Dweve Winnow

Winnow is a Rust source-intelligence and web-scraping engine. Apache-2.0 terms, self-hosted; the repository publishes in the eighth release round.

Búsquedas, sitios, API, fuentes, archivos

Resultados tipados para el siguiente sistema

Reglas de fuente aplicadas en toda la ruta

CLI, crate de Rust, servicio y WebAssembly

Gobernanza del conocimiento sobre fuentes recopiladas por Winnow.

Indexa los datos recopilados para una recuperación rápida.

Analiza la salida de Winnow en árboles direccionados por contenido.

Empieza con una pregunta recurrente. Winnow la convierte en una ruta con nombre con fuentes explícitas, reglas de obtención compartidas, salida tipada y un registro de ejecución que el siguiente sistema puede inspeccionar.

La fuente no es el centro. La pregunta lo es

En 66 categorías. Más 28 motores, 325 recopiladores.

El núcleo no tiene dependencias de ejecución. El navegador sigiloso es opcional, Python.

La hoja del proyecto registra lo que se incluye: un binario Rust compacto, el catálogo de scrapers y recopiladores, formatos de salida, controles de solicitud, enlaces de lenguaje y las cuatro superficies de integración utilizadas por el resto de la pila.

TLS, cookies, límites de velocidad, proxies

Analizador, scrapers, obtención, auditoría

Ejecuta Winnow como un binario único, incrústalo como crates de Rust, ejecútalo como un servicio HTTP de axum o compílalo para el navegador y el edge. Los mismos scrapers y la misma forma de salida funcionan en los cuatro modos.

Scrapers predefinidos para las fuentes que los analistas ya usan, desde portales gubernamentales y científicos hasta noticias, finanzas y datos abiertos. Cada scraper es una estructura Rust tipada. Los scrapers personalizados se integran junto a los integrados y siguen el mismo contrato de salida.

Por solicitud: fuente, URL, marca de tiempo, estado, hash de contenido.

Rangos de red privados bloqueados en cada entrada de URL.

Cubos de tokens por dominio ajustados a la política documentada de cada fuente.

Denegar por defecto. Los dominios no almacenados en caché se rechazan hasta que se obtiene robots.txt.

Winnow aplica robots.txt con una política de denegación por defecto, límites de tasa por dominio, protección SSRF, seudonimización GDPR y registro de auditoría por solicitud como restricciones de diseño, no como ajustes opcionales. Lo que queda fuera del control de Winnow: la base legal del operador para recopilar datos, las decisiones de minimización de datos y las decisiones de retención posteriores. Esta página no afirma certificación GDPR porque una biblioteca no puede hacer esa determinación en tu nombre.

texto, JSON, JSONL, CSV o HTML. Compatible con tuberías.

Los selectores CSS extraen campos tipados del DOM.

HTTP simple primero, luego HTTP sigiloso, y solo un navegador si está bloqueado.

28 motores de búsqueda consultados en paralelo, resultados fusionados y clasificados.

Una consulta se convierte en registros estructurados a través de cuatro etapas. Discovery consulta 28 motores en paralelo. Fetch escala desde HTTP simple hasta solicitudes con huella TLS y un navegador sigiloso, solo cuando un sitio bloquea activamente. Parse ejecuta raspadores tipados sobre el DOM. Output escribe uno de cinco formatos en stdout.

Cada motor de búsqueda tiene su propia API, cuotas y envoltorio.

Los servicios de rotación añaden facturación separada y variación en la calidad de IP.

Selenium o Playwright añade una superficie operativa y un coste de recursos separados.

Código frágil por sitio que se rompe silenciosamente cuando cambia el marcado.

La mayoría de las pilas de recopilación de datos combinan raspadores, navegadores sin interfaz, servicios de proxy, envoltorios de búsqueda y scripts de mantenimiento personalizados. La capa de pegamento se convierte en el proyecto. Cada herramienta tiene su propia superficie operativa, su propio modelo de facturación y sus propias suposiciones de cortesía.

El mundo exterior no es una base de datos

La base legal, la minimización y la retención permanecen contigo. Winnow registra esa decisión; no la toma por ti.

Cada solicitud se registra con origen, dirección, hora y resultado.

Los identificadores pueden seudonimizarse a medida que se recopilan los datos, no se transmiten en bruto.

La política de robots y los límites de velocidad por dominio se aplican desde la primera solicitud.

Recopilar datos web conlleva riesgos reales: ser bloqueado, manejar datos personales, solicitudes que llegan a direcciones inseguras y no tener registro de lo sucedido. Winnow maneja cada uno de estos desde el principio, con reglas de cortesía, seudonimización, protección contra destinos inseguros y un registro por solicitud. Lo que no hace es fingir tomar tus decisiones legales. Tu base legal, cuánto conservas y durante cuánto tiempo lo conservas siguen siendo tu decisión, y no hacemos ninguna afirmación de certificación que una biblioteca no pueda hacer honestamente.

Plegar la pila en un solo binario significa una cosa que aprender, ejecutar y parchear, en lugar de cinco más sus costuras.

Los raspadores frágiles por sitio y los scripts de pegamento que mantienen unida la pila consumen silenciosamente tiempo de ingeniería mes tras mes.

La rotación de proxies y las cuotas de búsqueda se facturan por uso. Un binario autoalojado en infraestructura que ya pagas no tiene factura de tráfico sorpresa.

Una pila de recopilación suele fragmentarse en scrapers específicos por sitio, automatización de navegadores, gestión de proxies, conectores de búsqueda y código de unión. Winnow coordina esas piezas móviles bajo una única política de ejecución, de modo que las operaciones pueden parchear una ruta, observar un registro y repetir una pregunta.

Las entradas, el tiempo, las decisiones y los resultados permanecen disponibles para repetir y revisar.

Las reglas de análisis, seudonimización, normalización y salida son explícitas.

Los límites de tasa, la política de robots, los reintentos y la protección contra direcciones no seguras viajan con la ruta.

Cada motor de búsqueda, sitio, API, fuente y archivo se nombra en la ejecución.

Un trabajo de recopilación recurrente no debería comportarse como cinco scripts no relacionados. Winnow da a descubrimiento, obtención, análisis, normalización, salida y registro de ejecución una ruta compartida, mientras que el despliegue sigue siendo una elección operativa separada.

Emita JSON, CSV, flujos, registros almacenados o la forma de respuesta que su flujo de trabajo espera.

Descubrir, obtener, analizar y emitir comparten una política y un registro de ejecución.

Motores de búsqueda, sitios web, APIs, fuentes y archivos pueden entrar en la misma ejecución.

Winnow comienza con una pregunta, decide qué superficies de fuentes pertenecen a la ejecución, descubre candidatos, los obtiene cortésmente, analiza el material útil y emite resultados tipados. La ruta se registra para que el mismo trabajo pueda repetirse y revisarse.

Anota lo que visitó, así que la respuesta ya está ahí si alguien pregunta.

Puede ejecutarse enteramente dentro de Europa, en máquinas de confianza.

Sigue las reglas que cada sitio web establece y espera su turno.

Cada resultado conserva sus notas de fuente y su ruta de recopilación, para que el servicio pueda mostrar de dónde vino la información.

Las primeras preguntas son sensatas: ¿podría esto causar problemas, a dónde va mi información y cómo puedo ver qué hizo? Aquí están las respuestas claras. El cuidado y la apertura están integrados en Winnow desde el principio, no se venden como extras.

La lista es un archivo pequeño que puedes guardar y al que puedes volver, no algo que desaparece.

Cada línea indica de dónde proviene, para que siempre puedas consultar la fuente tú mismo.

El desorden se elimina. Ves las partes útiles que pediste y de dónde viene cada una.

En lugar de un montón de sitios web que leer, obtienes una lista clara con una línea para cada elemento y una nota que indica de dónde proviene. Léela, imprímela o consérvala. Convierte un lío de pestañas abiertas en un registro que puedes consultar más tarde.

Cada tarjeta muestra el tipo exacto de cosa que dirías, para que nunca te quedes atascado.

No hay menús ni ajustes con los que pelear. Solo preguntas.

Describe lo que quieres con tus propias palabras cotidianas, como si hablaras con una persona.

No necesitas palabras especiales. Pide noticias sobre un tema, precios de algunas tiendas, un aviso oficial o los horarios de un evento. Elige un ejemplo para ver cómo podrías preguntar y qué tipo de respuesta organizada puede llegar.

Vuelve una lista ordenada, como un recibo limpio que enumera lo que compraste.

Visita las páginas y las lee por ti, con educación.

Dile lo que buscas, con palabras cotidianas.

La web es enorme y gran parte es ruido. Winnow lee las páginas relevantes, conserva las partes útiles y deja atrás el desorden. Preguntas con palabras sencillas y obtienes una respuesta organizada con sus fuentes. No hay nada nuevo que aprender.

Funciona dentro de Europa, tú lo controlas

Menos facturas recurrentes que gestionar

Cinco herramientas separadas y su pegamento

Trabajo de fuentes autoalojado que te pertenece

Winnow da al trabajo recurrente de fuentes una ruta gobernada. Los buscadores, sitios web, API, fuentes y archivos entran en la misma ejecución; el descubrimiento, la obtención, el análisis y la salida tipada comparten una política y un registro. Operaciones gana un proceso repetible en lugar de cinco recopiladores que se desvían.