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.
Risultati tipizzati per il sistema successivo
Regole sulle fonti applicate lungo il percorso
Governance della conoscenza sulle fonti raccolte da Winnow.
Indicizza i dati raccolti per un recupero rapido.
Analizza l'output di Winnow in alberi indirizzabili per contenuto.
Inizia con una domanda ricorrente. Winnow la trasforma in un percorso nominato con fonti esplicite, regole di recupero condivise, output tipizzato e un record di esecuzione che il sistema successivo può ispezionare.
La fonte non è il centro. La domanda lo è
Progettato per essere consapevole delle fonti
In 66 categorie. Più 28 motori, 325 collettori.
Il core non ha dipendenze runtime. Il browser stealth è opzionale, in Python.
La scheda del progetto registra cosa include: un binario Rust compatto, il catalogo di scraper e collettori, i formati di output, i controlli delle richieste, i binding linguistici e le quattro superfici di integrazione usate dal resto dello stack.
Esegui Winnow come un singolo binario, integralo come crate Rust, eseguilo come servizio HTTP axum o compilalo per browser e edge. Gli stessi scraper e lo stesso formato di output funzionano in tutte e quattro le modalità.
Scraper predefiniti per le fonti che gli analisti usano già, dai portali governativi e scientifici a notizie, finanza e open data. Ogni scraper è una struct Rust tipizzata. Gli scraper personalizzati si affiancano a quelli integrati e seguono lo stesso contratto di output.
Per richiesta: fonte, URL, timestamp, stato, hash del contenuto.
Intervalli di rete privati bloccati in ogni input URL.
Bucket a token per dominio abbinati alla policy documentata di ciascuna fonte.
Nega per impostazione predefinita. I domini non memorizzati nella cache vengono rifiutati finché robots.txt non viene recuperato.
Cosa viene fornito per impostazione predefinita
Winnow applica robots.txt con una policy di negazione predefinita, limiti di frequenza per dominio, protezione SSRF, pseudonimizzazione GDPR e registrazione di controllo per richiesta come vincoli di progettazione, non come impostazioni opzionali. Ciò che esula dal controllo di Winnow: la base giuridica dell'operatore per la raccolta dei dati, le scelte di minimizzazione dei dati e le decisioni di conservazione a valle. Questa pagina non dichiara la certificazione GDPR perché una libreria non può fare tale determinazione per tuo conto.
testo, JSON, JSONL, CSV o HTML. Compatibile con pipe.
I selettori CSS estraggono campi tipizzati dal DOM.
Prima HTTP semplice, poi HTTP stealth, poi un browser solo se bloccato.
28 motori di ricerca interrogati in parallelo, risultati uniti e classificati.
Una query diventa record strutturati attraverso quattro fasi. Discovery interroga 28 motori in parallelo. Fetch passa da HTTP semplice a richieste con fingerprint TLS fino a un browser stealth, solo quando un sito blocca attivamente. Parse esegue scraper tipizzati sul DOM. Output scrive uno dei cinque formati su stdout.
Ogni motore di ricerca ha la sua API, le sue quote e il suo wrapper.
I servizi di rotazione aggiungono fatturazione separata e varianza nella qualità degli IP.
Selenium o Playwright aggiunge una superficie operativa separata e un costo di risorse.
Codice fragile per sito che si rompe silenziosamente quando il markup cambia.
La maggior parte degli stack di raccolta dati combina scraper, browser headless, servizi proxy, wrapper di ricerca e script di manutenzione personalizzati. Il livello di colla diventa il progetto. Ogni strumento ha la sua superficie operativa, il suo modello di fatturazione e le sue ipotesi di cortesia.
non dovrebbe richiedere cinque strumenti
Sicurezza attiva per impostazione predefinita
Base giuridica, minimizzazione e conservazione restano a te. Winnow registra quella decisione; non la prende per te.
Ogni richiesta è registrata con fonte, indirizzo, ora e risultato.
Gli identificatori possono essere pseudonimizzati durante la raccolta dei dati, non trasportati grezzi.
La policy sui robot e i limiti di frequenza per dominio sono applicati dalla prima richiesta.
Raccogliere dati web comporta rischi reali: essere bloccati, gestire dati personali, richieste che raggiungono indirizzi non sicuri e non avere alcuna registrazione di ciò che è accaduto. Winnow gestisce ciascuno di questi aspetti dall'inizio, con regole di cortesia, pseudonimizzazione, protezione contro destinazioni non sicure e un registro per richiesta. Ciò che non fa è fingere di prendere le tue decisioni legali. La tua base giuridica, quanto conservi e per quanto tempo lo conservi restano una tua scelta, e non facciamo alcuna affermazione di certificazione che una libreria non possa onestamente fare.
Piegare lo stack in un unico binario significa una cosa da imparare, eseguire e correggere, invece di cinque più le loro giunture.
Gli scraper fragili per sito e gli script di colla che tengono insieme lo stack consumano silenziosamente tempo agli ingegneri mese dopo mese.
La rotazione dei proxy e le quote di ricerca sono fatturate in base all'uso. Un binario self-hosted su infrastruttura che già paghi non ha una bolletta di traffico a sorpresa.
Uno stack di raccolta di solito si frammenta in scraper specifici per sito, automazione del browser, gestione dei proxy, connettori di ricerca e codice di collegamento. Winnow coordina queste parti mobili sotto un'unica policy di esecuzione, così le operazioni possono correggere una rotta, osservare un record e ripetere una domanda.
Input, tempi, decisioni e risultati restano disponibili per ripetizione e revisione.
Le regole di parsing, pseudonimizzazione, normalizzazione e output sono esplicite.
Limiti di frequenza, policy robots, tentativi e protezione degli indirizzi non sicuri viaggiano con la rotta.
Ogni motore di ricerca, sito, API, feed e file è nominato nell'esecuzione.
Un lavoro di raccolta ricorrente non dovrebbe comportarsi come cinque script non correlati. Winnow dà a discovery, fetch, parsing, normalizzazione, output e registro di esecuzione una rotta condivisa, mentre la distribuzione resta una scelta operativa separata.
Emette JSON, CSV, stream, record memorizzati o la forma di risposta che il tuo flusso di lavoro si aspetta.
Discovery, fetch, parsing e output condividono una policy e un registro di esecuzione.
Motori di ricerca, siti web, API, feed e file possono entrare nella stessa esecuzione.
Winnow inizia con una domanda, decide quali superfici delle fonti includere nell'esecuzione, scopre i candidati, li recupera educatamente, analizza il materiale utile ed emette risultati tipizzati. La rotta è registrata così lo stesso lavoro può essere ripetuto e revisionato.
Registra cosa ha visitato, così la risposta è già lì se qualcuno chiede.
Può funzionare interamente in Europa, su macchine di cui ti fidi.
Segue le regole che ogni sito web impone e aspetta il suo turno.
Ogni risultato mantiene le note sulla fonte e la rotta di raccolta, così il servizio può mostrare da dove provengono le informazioni.
Le prime domande sono sensate: potrebbe causare problemi, dove vanno le mie informazioni e come posso vedere cosa ha fatto? Ecco le risposte semplici. Cura e trasparenza sono integrate in Winnow dall'inizio, non vendute come extra.
L'elenco è un piccolo file che puoi salvare e a cui puoi tornare, non qualcosa che sparisce.
Ogni riga indica da dove proviene, così puoi sempre controllare la fonte da solo.
Il disordine viene eliminato. Vedi le parti utili che hai chiesto e da dove viene ciascuna.
Invece di un mucchio di siti da leggere, ricevi un elenco chiaro con una riga per ogni elemento e una nota che indica da dove proviene. Leggilo, stampalo o conservalo. Trasforma un groviglio di schede aperte in un documento che puoi consultare più tardi.
Ogni scheda mostra il tipo esatto di cosa che diresti, così non resti mai bloccato.
Non ci sono menu o impostazioni con cui combattere. Devi solo chiedere.
Descrivi cosa vuoi con le tue parole di tutti i giorni, come se parlassi con una persona.
Non ti servono parole speciali. Chiedi notizie su un argomento, prezzi da alcuni negozi, un avviso ufficiale o gli orari di un evento. Scegli un esempio per vedere come potresti chiedere e che tipo di risposta organizzata puoi ricevere.
Torna un elenco ordinato, come uno scontrino pulito elenca ciò che hai comprato.
Visita le pagine e le legge per te, educatamente.
Digli cosa stai cercando, con parole di tutti i giorni.
Il web è enorme e gran parte è rumore. Winnow legge le pagine pertinenti, conserva le parti utili e lascia da parte il disordine. Chiedi con parole semplici e ricevi una risposta organizzata con le sue fonti. Non c'è nulla di nuovo da imparare.
Regole sulle fonti e sicurezza integrate
Cinque strumenti separati e la loro colla
Lavoro su sorgenti self-hosted di tua proprietà
Winnow offre una rotta governata per il lavoro ricorrente sulle sorgenti. Motori di ricerca, siti web, API, feed e file entrano nella stessa esecuzione; scoperta, recupero, parsing e output tipizzato condividono una politica e un registro. Le operazioni ottengono un processo ripetibile invece di cinque collettori che divergono.