Descrizione Progetto

Lo sviluppo di integrazioni ad hoc può semplificare la vita di aziende di qualsiasi settore. Da chi vende prodotti a chi offre servizi, molto spesso gli strumenti disponibili – anche a pagamento – non offrono una completa esperienza personalizzata. Ecco come abbiamo aiutato un’ importante società italiana ad automatizzare un’operazione pressoché impossibile da eseguirsi manualmente.

Sviluppo crawler personalizzato per una precisa esigenza

Su richiesta di un nostro cliente che offre un servizio di monitoraggio Stampa, Web e Social Media abbiamo realizzato un crawler personalizzato per le esigenze di una nota testata giornalistica nazionale. Il crawler è nato con una finalità ben precisa: prelevare tutti contenuti dell’edizione giornaliera del sito web della testata sia in formato PDF, sia in formato testuale.

A differenza di molti altri batch realizzati utilizzando HtmlUnit come libreria per lo sviluppo, in questo progetto la navigazione Headless offerta da HtmlUnit non bastava. L’engine Javascript non riusciva infatti a riprodurre il comportamento reale che avviene navigando lo stesso sito con browser tradizionali. Abbiamo quindi optato per Selenium, un’altra ottima libreria che permette di utilizzare un browser reale (IE, Chrome, Firefox, Safari, …) e dunque di avere una piena compatibilità con il sito target oggetto della navigazione.

Normalmente preferiamo utilizzare HtmlUnit perché ci garantisce il “100% pure Java”, ossia software Java completamente portatile su tutti i sistemi operativi. L’utilizzo dei driver nativi di Selenium è stato comunque un buon compromesso che ha permesso di portare a termine il lavoro.

Creazione batch: come abbiamo lavorato

Come per tutti i nostri lavori di web crawling siamo partiti da una sessione di analisi insieme al cliente, a cui è seguita la preparazione di uno screencast riassuntivo sulla navigazione. Una volta accettato quest’ultimo siamo passati alla fase di sviluppo.

La vera sfida era garantire un crawler robusto e stabile anche quando avevamo risposte non attese da parte del sito o tempi di risposta variabili. Per fare tutto ciò abbiamo preferito procedere con una serie di “stress test” dove la stessa navigazione viene ripetuta più e più volte in automatico.

Il risultato è stato un crawler in grado di:

  • Navigare sia all’interno del sito web principale della testata giornalistica, sia nelle sotto testate delle varie province;
  • Recuperare i contenuti del giorno odierno;
  • Recuperare lo storico, con una profondità di ricerca configurabile.

Contattaci senza impegno per valutare insieme lo sviluppo di un’integrazione personalizzata per la tua azienda.