Riepilogo
L'organizzazione di ricerca dedica tempo a sostituire la raccolta manuale o occasionale di dati web con un'estrazione ripetibile.
La soluzione è diventata uno scraper configurabile che segue le regole delle pagine, gestisce i contenuti dinamici ed esporta record strutturati.
Il software è progettato per ridurre la raccolta manuale e le estrazioni incoerenti.
Storia del cliente
Il cliente è un'organizzazione di ricerca tedesca. Raccoglie dati su prodotti, inserzioni e contatti da siti web pubblici per attività di ricerca.
La raccolta manuale e occasionale richiede tempo al team, soprattutto quando i siti target usano paginazione, strutture di pagina variabili e tabelle dinamiche.
La richiesta era semplice: accettare URL o modelli di URL target, selettori configurabili o file di configurazione e restituire i contenuti selezionati dei siti come record strutturati.
La soluzione è stata costruita attorno a regole configurabili per i campi, crawling multipagina e rendering tramite browser. Esecuzioni pianificate e log chiari hanno supportato una raccolta ripetibile.
Il cliente ha richiesto
- Accettare URL, modelli di URL, selettori, XPath o file di configurazione
- Estrarre i contenuti selezionati in record strutturati
- Seguire la paginazione tra pagine e siti web
- Gestire pagine JavaScript, tabelle dinamiche e caricamento differito
Perché il software pronto all'uso non era adatto
I software pronti per l'estrazione dei dati coprono molti tipi di fonti, mentre i servizi di scraping gestiti si concentrano su API, infrastruttura browser e servizi proxy. Questo cliente aveva bisogno di campi, selettori e regole di paginazione specifici per il progetto. La soluzione doveva inoltre funzionare localmente, includere documentazione e rispettare requisiti di output definiti.
Panoramica del progetto
La soluzione è stata progettata attorno a una schermata di configurazione dello scraper, in cui il team di ricerca definisce URL, campi e selettori target. Sono disponibili anche regole di paginazione e formati di output.
Per gestire strutture di pagina diverse, lo scraper usa regole di estrazione configurabili per campi, testo visibile e tabelle. Esplora le pagine collegate e segue la paginazione quando necessario.
Il rendering basato sul browser è stato previsto per pagine JavaScript, tabelle dinamiche e contenuti caricati in modo differito. Le pagine statiche possono invece usare richieste HTTP dirette e il parsing HTML.
La soluzione è stata inoltre progettata per un utilizzo ripetibile. Funziona dalla riga di comando o da una macchina locale, supporta la pianificazione e registra errori e nuovi tentativi.
Di conseguenza, i record raccolti possono essere esportati in CSV, JSON o Excel. PostgreSQL, un endpoint REST JSON leggero e la documentazione del progetto ne supportano l'uso da parte del team cliente.
Funzionalità principali fornite
- URL e modelli di URL target configurabili
- Editor di selettori dei campi e XPath
- Crawling multipagina e paginazione
- Rendering di JavaScript e contenuti caricati in modo differito
- Esportazione in CSV, JSON ed Excel
- Limiti di frequenza, ritardi, nuovi tentativi e impostazioni user-agent
- Cronologia delle esecuzioni e log di scraping
- Distribuzione tramite PostgreSQL o REST JSON